Christian Ebert <blacktrash@gmx.net> [Sat, 20 Jan 2007 01:52:17 +0100] rev 115
FIX: no appending of attributes to repo, back to b2cc6a8d4a18
The idea was to good/unclean to be true.
Raised unknown exception on commit when exiting $EDITOR with return 1.
Integrate "innocent" changes since then though.
Christian Ebert <blacktrash@gmx.net> [Sat, 20 Jan 2007 00:55:31 +0100] rev 114
Describe substitution mechanism in doc
Christian Ebert <blacktrash@gmx.net> [Sat, 20 Jan 2007 00:54:03 +0100] rev 113
Debug info, not warning, when no files configured for expansion
Christian Ebert <blacktrash@gmx.net> [Thu, 18 Jan 2007 03:36:40 +0100] rev 112
Cycle filename patterns only once
Christian Ebert <blacktrash@gmx.net> [Thu, 18 Jan 2007 02:17:10 +0100] rev 111
Get modulename via function; set kwrepo attribs via direct reference
Christian Ebert <blacktrash@gmx.net> [Thu, 18 Jan 2007 01:50:18 +0100] rev 110
Move all that can be done only once per repo into reposetup
Actually kwrepo is not set up if there aren't any files configured
for keyword substitution.
Stuff that now is done at reposetup and not at every filelog init or hook:
1) filename matching function
2) compilation of keyword regex
3) templates and changeset templater
kwtemplater as an appended class should prevent namespace conflicts.
Christian Ebert <blacktrash@gmx.net> [Thu, 18 Jan 2007 00:06:11 +0100] rev 109
Extend templater.common_filters in kwtemplater
Christian Ebert <blacktrash@gmx.net> [Wed, 17 Jan 2007 23:55:54 +0100] rev 108
Document reposetup; recommend loading on per-repo basis
Christian Ebert <blacktrash@gmx.net> [Tue, 16 Jan 2007 19:17:54 +0100] rev 107
Implement configurable exclusion of files from expansion
Christian Ebert <blacktrash@gmx.net> [Tue, 16 Jan 2007 15:45:57 +0100] rev 106
Only initialize kwtemplater in kwfilelog if needed
Christian Ebert <blacktrash@gmx.net> [Tue, 16 Jan 2007 12:09:37 +0100] rev 105
Use full power of util.matcher for kwfmatches()
Christian Ebert <blacktrash@gmx.net> [Tue, 16 Jan 2007 05:02:38 +0100] rev 104
Simply dict() keywordmaps configitems
Christian Ebert <blacktrash@gmx.net> [Tue, 16 Jan 2007 03:14:40 +0100] rev 103
Emergency brake against multiline expansion
As expansion always happens ad hoc, is not tracked, multiline or incremental
expansion do not seem worth the trouble.
If at all, it would make sense with static, hardcoded keywords.
Christian Ebert <blacktrash@gmx.net> [Tue, 16 Jan 2007 01:04:46 +0100] rev 102
More doc, link to KeywordPlan
Christian Ebert <blacktrash@gmx.net> [Mon, 15 Jan 2007 20:18:43 +0100] rev 101
No need to read changelog in show(); node mandatory arg for expand()
Christian Ebert <blacktrash@gmx.net> [Mon, 15 Jan 2007 19:41:18 +0100] rev 100
Just re-bin the node kwarg of the hook, instead of using changelog
Christian Ebert <blacktrash@gmx.net> [Mon, 15 Jan 2007 15:41:59 +0100] rev 99
Same as for hardcoded branch: omit hooktype test, return w/o explicit value
Christian Ebert <blacktrash@gmx.net> [Mon, 15 Jan 2007 15:38:36 +0100] rev 98
Omit hook test; return w/o explicit value (==False)
Christian Ebert <blacktrash@gmx.net> [Sun, 14 Jan 2007 18:38:30 +0100] rev 97
No clumsy setting of node in kwfilelog.add, pass as kwarg
Christian Ebert <blacktrash@gmx.net> [Sun, 14 Jan 2007 14:00:45 +0100] rev 96
Expansion entirely in kwfilectx.expand()
Christian Ebert <blacktrash@gmx.net> [Sun, 14 Jan 2007 12:56:52 +0100] rev 95
Implement custom keyword map templates in hgrc
More expensive than hardcoded keywords.
But, of course, more flexible.
ATM templates can only be set in hgrc, and perhaps this is enough.
Christian Ebert <blacktrash@gmx.net> [Sun, 14 Jan 2007 12:39:23 +0100] rev 94
Indentation cosmetics
Christian Ebert <blacktrash@gmx.net> [Sat, 13 Jan 2007 13:27:13 +0100] rev 93
Clean keyword arg assignment in kwfilelog.add; rename utc() to utcdate()
Christian Ebert <blacktrash@gmx.net> [Fri, 12 Jan 2007 13:58:59 +0100] rev 92
Init context.filectx only once per file with class kwfilectx
This way context.filectx is not initialized for every keyword match.
Christian Ebert <blacktrash@gmx.net> [Fri, 12 Jan 2007 01:45:22 +0100] rev 91
Added tag very_cvs for changeset 2e930f842242
Christian Ebert <blacktrash@gmx.net> [Fri, 12 Jan 2007 01:41:33 +0100] rev 90
Very CVS-like format
Christian Ebert <blacktrash@gmx.net> [Fri, 12 Jan 2007 01:20:51 +0100] rev 89
Functions instead of variables in kwexpand()
Should be slightly faster as filectx is asked only on demand.
Christian Ebert <blacktrash@gmx.net> [Thu, 11 Jan 2007 10:37:50 +0100] rev 88
Module detection cleaner and more reliable
Stolen from mercurial.lsprof
Christian Ebert <blacktrash@gmx.net> [Thu, 11 Jan 2007 02:22:56 +0100] rev 87
Only extend sys.path if needed
Christian Ebert <blacktrash@gmx.net> [Wed, 10 Jan 2007 18:52:09 +0100] rev 86
Discard head of modular branch
Christian Ebert <blacktrash@gmx.net> [Wed, 10 Jan 2007 18:49:29 +0100] rev 85
Discard head of decodefilter branch
Christian Ebert <blacktrash@gmx.net> [Wed, 10 Jan 2007 16:27:46 +0100] rev 84
Make pretxncommit hook work even if extension not in hgext folder
Christian Ebert <blacktrash@gmx.net> [Tue, 09 Jan 2007 16:17:30 +0100] rev 83
Cosmetics: var name kwfmatchers, remove some line continuations
Christian Ebert <blacktrash@gmx.net> [Mon, 08 Jan 2007 18:32:46 +0100] rev 82
Add keyword; comment backwards compatible import
Christian Ebert <blacktrash@gmx.net> [Mon, 08 Jan 2007 18:27:18 +0100] rev 81
Implement self initializing pretxncommit hook
This is more expensive than overriding commit(), but
a) uses more "official" interface
b) less code
c) easier to maintain
Get all changes up to cee5fef33cf8 in here as well.
Christian Ebert <blacktrash@gmx.net> [Mon, 08 Jan 2007 17:03:08 +0100] rev 80
Fix timezone expando in doc
Christian Ebert <blacktrash@gmx.net> [Mon, 08 Jan 2007 13:07:52 +0100] rev 79
Make changes from last cset 474b415433a1 available to 0.9.3
Christian Ebert <blacktrash@gmx.net> [Mon, 08 Jan 2007 12:54:31 +0100] rev 78
Unexpanded storage hopefully covered now by adding kwfilelog.add (again!)
All filelog methods that act on text/data should be consistent.
Principle: read expanded kw's; unexpanded kw's for "internal" workings.
kwfilelog.iskwcandidate() to check whether keyword action required.
More doc.
Christian Ebert <blacktrash@gmx.net> [Mon, 08 Jan 2007 05:47:52 +0100] rev 77
Check against keyword config in kwfilelog.cmp; be silent in kwfilelog (0.9.3)
Christian Ebert <blacktrash@gmx.net> [Mon, 08 Jan 2007 05:40:34 +0100] rev 76
Check against keyword config in kwfilelog.cmp too; be silent in kwfilelog
Christian Ebert <blacktrash@gmx.net> [Mon, 08 Jan 2007 03:08:24 +0100] rev 75
Keyword myself 0.9.3
Christian Ebert <blacktrash@gmx.net> [Mon, 08 Jan 2007 03:05:22 +0100] rev 74
Keyword myself
Christian Ebert <blacktrash@gmx.net> [Mon, 08 Jan 2007 02:51:38 +0100] rev 73
Branch for compatibility with hg-0.9.3 release
See Message-ID: <91340540@bs1.sp34.ru>.
Christian Ebert <blacktrash@gmx.net> [Mon, 08 Jan 2007 02:13:04 +0100] rev 72
Fix indent in entire kwrepo.commit function
Christian Ebert <blacktrash@gmx.net> [Sun, 07 Jan 2007 21:51:57 +0100] rev 71
No keyword substitution in cmp(); no overriding of size() ATM
This hopefully solves the merge/no conflict issue brought up by
Boris Samorodov in Message-ID: <12807831@srv.sem.ipt.ru>.
Christian Ebert <blacktrash@gmx.net> [Sat, 06 Jan 2007 14:35:24 +0100] rev 70
Added tag pure_extension for changeset 4c5d9635b517
Christian Ebert <blacktrash@gmx.net> [Sat, 06 Jan 2007 14:34:49 +0100] rev 69
Pure extension by inserting keyword expansion localrepo.localrepository.commit
Replaced self.ui with ui in commit().
This works, or seems to work, but can it be done without a complete
copy of commit()?
Christian Ebert <blacktrash@gmx.net> [Fri, 05 Jan 2007 14:51:58 +0100] rev 68
Remove copyright for the moment
Christian Ebert <blacktrash@gmx.net> [Fri, 05 Jan 2007 14:51:10 +0100] rev 67
Remove kwfilelog.add() -- seems to work with current kw_re
Christian Ebert <blacktrash@gmx.net> [Thu, 04 Jan 2007 14:18:15 +0100] rev 66
Make kwfilelog.add respect filename config
Christian Ebert <blacktrash@gmx.net> [Thu, 04 Jan 2007 13:13:54 +0100] rev 65
Unify obtaining filename matchers; only debug messages
Christian Ebert <blacktrash@gmx.net> [Wed, 03 Jan 2007 14:14:19 +0100] rev 64
Imports specific to functions
Christian Ebert <blacktrash@gmx.net> [Sat, 30 Dec 2006 23:21:09 +0100] rev 63
Omit 1 implicit if-clause
Christian Ebert <blacktrash@gmx.net> [Fri, 29 Dec 2006 17:51:54 +0100] rev 62
Added tag r0.1 for changeset 1fe48bf82d05
Christian Ebert <blacktrash@gmx.net> [Fri, 29 Dec 2006 17:23:55 +0100] rev 61
Remove more internal comments
Christian Ebert <blacktrash@gmx.net> [Fri, 29 Dec 2006 16:58:19 +0100] rev 60
List supported keywords in doc
Christian Ebert <blacktrash@gmx.net> [Fri, 29 Dec 2006 16:34:01 +0100] rev 59
Only 1 all-purpose regex, compiled at load
Christian Ebert <blacktrash@gmx.net> [Fri, 29 Dec 2006 15:36:50 +0100] rev 58
lambda m: instead of kwexpander(matchobj)
Christian Ebert <blacktrash@gmx.net> [Fri, 29 Dec 2006 15:23:58 +0100] rev 57
Extract all information in kwexpand()
Christian Ebert <blacktrash@gmx.net> [Fri, 29 Dec 2006 14:14:23 +0100] rev 56
Move context.filectx into if-clause where it's actually needed
Christian Ebert <blacktrash@gmx.net> [Fri, 29 Dec 2006 14:06:10 +0100] rev 55
Use localrepository method to obtain full path
Christian Ebert <blacktrash@gmx.net> [Fri, 29 Dec 2006 13:57:57 +0100] rev 54
Cleanup comments; refer to hybridity of script in doc
Christian Ebert <blacktrash@gmx.net> [Fri, 29 Dec 2006 13:02:29 +0100] rev 53
Change location of date format comment
Christian Ebert <blacktrash@gmx.net> [Fri, 29 Dec 2006 12:58:06 +0100] rev 52
Make inheritance clearer in size() and add()
Christian Ebert <blacktrash@gmx.net> [Thu, 28 Dec 2006 18:41:54 +0100] rev 51
Reintroduce simpler kwfilelog.add(); simplify kwfilelog.read()
Without add() strange things happen to changectx().
Christian Ebert <blacktrash@gmx.net> [Thu, 28 Dec 2006 18:14:59 +0100] rev 50
Use self._path directly instead of assigning f to context.path()
Christian Ebert <blacktrash@gmx.net> [Thu, 28 Dec 2006 15:06:19 +0100] rev 49
Override filelog's size(), cmp() as well; remove add()
Try whether we /really/ don't need add().
size() and cmp() are needed to avoid eg:
$ hg st
$ touch file
$ hg st
M file
Christian Ebert <blacktrash@gmx.net> [Thu, 21 Dec 2006 19:52:25 +0100] rev 48
add header and start documentation
Christian Ebert <blacktrash@gmx.net> [Thu, 21 Dec 2006 16:58:28 +0100] rev 47
Branch standalone extension, including pretxncommit hook function
Slower, but easier to integrate.
Christian Ebert <blacktrash@gmx.net> [Thu, 21 Dec 2006 16:00:45 +0100] rev 46
Make keyword.py depend on resurrected kwutil.py
This makes pretxnkw perhaps a bit slower, but is more readable.
Christian Ebert <blacktrash@gmx.net> [Thu, 21 Dec 2006 11:02:21 +0100] rev 45
Exclude import command too
Christian Ebert <blacktrash@gmx.net> [Thu, 21 Dec 2006 00:48:56 +0100] rev 44
Exclude tag cmd from pretxcommit hook; exclude .hg files
Return unchanged data in superclass read() after every if clause.
Perhaps a bit more readable.
Christian Ebert <blacktrash@gmx.net> [Wed, 20 Dec 2006 17:41:46 +0100] rev 43
Added tag cvs_scheme for changeset ba000e29ecf3
Christian Ebert <blacktrash@gmx.net> [Wed, 20 Dec 2006 17:41:19 +0100] rev 42
Implement near CVS compability with more than one keyword
Keywords are set as local vars in kwexpand() and then eval'd.
TODO: (sticky) tag?
Christian Ebert <blacktrash@gmx.net> [Wed, 20 Dec 2006 14:54:38 +0100] rev 41
Make patterns stricter again, to avoid unvolontary expansions
Christian Ebert <blacktrash@gmx.net> [Wed, 20 Dec 2006 10:37:06 +0100] rev 40
Rename "text" to "data" always as set before call to util.binary()
Christian Ebert <blacktrash@gmx.net> [Tue, 19 Dec 2006 17:22:26 +0100] rev 39
Reflect new scheme in function docstring
Christian Ebert <blacktrash@gmx.net> [Tue, 19 Dec 2006 16:02:27 +0100] rev 38
Remove all hgkwencode, kwexpander.py and updatekw.py
This scheme should work just with:
extension keyword.py
pretxncommit-hook pretxnkw.pretxnkw
Christian Ebert <blacktrash@gmx.net> [Tue, 19 Dec 2006 15:57:03 +0100] rev 37
Standalone version for keyword.py
Check "expand" patterns in the [keyword] config section.
Removed keyword in file itself to simplify patterns.
Revert (again) to basename.
Christian Ebert <blacktrash@gmx.net> [Tue, 19 Dec 2006 15:41:45 +0100] rev 36
Change config opt "expand" to accept filename patterns
Not nice yet; but passes tests together with pretxnkw.
TODO:
Find out what filelog.add() does exactly.
Christian Ebert <blacktrash@gmx.net> [Tue, 19 Dec 2006 10:00:28 +0100] rev 35
Interim test version in connection with keyword.py
Simplify grep pattern.
Outcomment filename lookup, will be changed to configitems('keywords').
Update stuff will be removed.
And the whole thing will go into pretxncommit.
kwupdate.py will be removed.
Christian Ebert <blacktrash@gmx.net> [Tue, 19 Dec 2006 09:56:41 +0100] rev 34
Make keyword do my hgkeyword; use basename again
add() needs only str.replace().
TODO:
Make even more compatible with cvs' $Id$? (date UTC, slashes)
Check config before reading.
And!:
Use config file patterns, in cooperation with pretxnkw.
This will expand keywords alread on commit!
Christian Ebert <blacktrash@gmx.net> [Tue, 19 Dec 2006 09:39:03 +0100] rev 33
Add original keyword extension by Thomas Arendsen Hain
Christian Ebert <blacktrash@gmx.net> [Mon, 18 Dec 2006 12:10:05 +0100] rev 32
Update function descriptions
Christian Ebert <blacktrash@gmx.net> [Mon, 18 Dec 2006 12:01:26 +0100] rev 31
Add TODO for walk back through file history on update
Christian Ebert <blacktrash@gmx.net> [Mon, 18 Dec 2006 01:42:06 +0100] rev 30
Test for binary
Christian Ebert <blacktrash@gmx.net> [Sun, 17 Dec 2006 15:32:34 +0100] rev 29
Clean up variable names; do not explicitly return False
Christian Ebert <blacktrash@gmx.net> [Sun, 17 Dec 2006 14:48:08 +0100] rev 28
Do not explicitly exit False; rename node1/2 to r1/2, p1/2 to n1/2
Christian Ebert <blacktrash@gmx.net> [Sun, 17 Dec 2006 14:09:06 +0100] rev 27
Do not explicitly return False at end
Christian Ebert <blacktrash@gmx.net> [Sun, 17 Dec 2006 13:38:28 +0100] rev 26
Reparse cmdline to avoid expansion in uncommitted files
Christian Ebert <blacktrash@gmx.net> [Sun, 17 Dec 2006 10:57:55 +0100] rev 25
Make wwritekw() and all vars local
Christian Ebert <blacktrash@gmx.net> [Sun, 17 Dec 2006 10:52:47 +0100] rev 24
Throw out demandimport -- at least temporarily
Christian Ebert <blacktrash@gmx.net> [Sun, 17 Dec 2006 10:16:16 +0100] rev 23
Double check encode filtered filenames
Christian Ebert <blacktrash@gmx.net> [Sat, 16 Dec 2006 15:55:11 +0100] rev 22
Added tag universal_scheme for changeset 536c1797202d
Christian Ebert <blacktrash@gmx.net> [Sat, 16 Dec 2006 15:53:45 +0100] rev 21
Implement $Hg$ scheme with update hook
The pivotal line for update hook is:
repo.dirstate.update(kwupdates, 'n')
This forces hg to consider the freshly written files as not modified.
Thanks to wfile(), this keeps executable bits etc.
Still needs more testing.
No need to check for basename/filename in keyword trigger.
update hook does not need re.
TODO:
Walk back in history, if last change of file didn't happen in 1
of the provided changesets (update/merge?)?
Christian Ebert <blacktrash@gmx.net> [Sat, 16 Dec 2006 15:42:27 +0100] rev 20
Simplify for $Hg$ expansion scheme
Christian Ebert <blacktrash@gmx.net> [Sat, 16 Dec 2006 15:38:25 +0100] rev 19
Use the "parent1|2" kwargs to detect file state
Can parent2 be of further use? Like in parsing back history?
Adapt keyword trigger to $Hg$ scheme.
Christian Ebert <blacktrash@gmx.net> [Sat, 16 Dec 2006 15:28:42 +0100] rev 18
Simplify filter pattern for $Hg$ scheme
Adapt keyword trigger as well.
Christian Ebert <blacktrash@gmx.net> [Sat, 16 Dec 2006 15:22:56 +0100] rev 17
Start universal $Hg$ keyword expansion
Christian Ebert <blacktrash@gmx.net> [Fri, 15 Dec 2006 01:21:56 +0100] rev 16
Rename parent1 to p
Christian Ebert <blacktrash@gmx.net> [Fri, 15 Dec 2006 01:14:58 +0100] rev 15
Rename lr variable to repo
Christian Ebert <blacktrash@gmx.net> [Thu, 14 Dec 2006 16:28:38 +0100] rev 14
Adapt to filename instead of basename style
Christian Ebert <blacktrash@gmx.net> [Thu, 14 Dec 2006 16:27:30 +0100] rev 13
Short "f" for "filename" iteration variable
Christian Ebert <blacktrash@gmx.net> [Thu, 14 Dec 2006 16:25:12 +0100] rev 12
Added tag filename for changeset 56a61a5c696d
Christian Ebert <blacktrash@gmx.net> [Thu, 14 Dec 2006 16:24:30 +0100] rev 11
Switch to complete filename in first keyword field
This will hopefully allow to iterate over the stream in hgkwdecode,
and lookup the relatively latest revision of corresponding file.
Christian Ebert <blacktrash@gmx.net> [Thu, 14 Dec 2006 13:52:53 +0100] rev 10
Use localrepository's wjoin() to obtain absolute path
Christian Ebert <blacktrash@gmx.net> [Thu, 14 Dec 2006 12:58:46 +0100] rev 9
Use wfile instead of wopener; read and write string not binary
Christian Ebert <blacktrash@gmx.net> [Thu, 14 Dec 2006 12:55:52 +0100] rev 8
FIX: range of status selection; copyfile using absolute path
Christian Ebert <blacktrash@gmx.net> [Thu, 14 Dec 2006 10:33:35 +0100] rev 7
Add pretxnkw module for updatehook branch
Christian Ebert <blacktrash@gmx.net> [Thu, 14 Dec 2006 10:18:41 +0100] rev 6
Add pretxnkw module for commits
Christian Ebert <blacktrash@gmx.net> [Thu, 14 Dec 2006 08:57:40 +0100] rev 5
updatehook branch: add kwexpander and updatekw modules
WARNING: Do not use this branch for production!
Update hook changes to working directory are detected by hg.
The only /hook/ to escape hg's attention seems to be pretxcommit.
And that probably only due to bug.
Kept branch for archiving purposes.
Christian Ebert <blacktrash@gmx.net> [Thu, 14 Dec 2006 08:35:24 +0100] rev 4
decodefilter branch: add decode filter with kwutil module