##// END OF EJS Templates
blackbox: log dirty state...
timeless -
r28246:b862e793 default
parent child Browse files
Show More
@@ -10,10 +10,15 b''
10
10
11 Logs event information to .hg/blackbox.log to help debug and diagnose problems.
11 Logs event information to .hg/blackbox.log to help debug and diagnose problems.
12 The events that get logged can be configured via the blackbox.track config key.
12 The events that get logged can be configured via the blackbox.track config key.
13
14 If you want to record whether the repository is dirty (a `+` sign, as you'd
15 get when using :hg:`id`), you can set the blackbox.dirty config key.
16
13 Examples::
17 Examples::
14
18
15 [blackbox]
19 [blackbox]
16 track = *
20 track = *
21 dirty = True
17
22
18 [blackbox]
23 [blackbox]
19 track = command, commandfinish, commandexception, exthook, pythonhook
24 track = command, commandfinish, commandexception, exthook, pythonhook
@@ -140,6 +145,7 b' def wrapui(ui):'
140 pid = str(util.getpid())
145 pid = str(util.getpid())
141 formattedmsg = msg[0] % msg[1:]
146 formattedmsg = msg[0] % msg[1:]
142 rev = '(unknown)'
147 rev = '(unknown)'
148 changed = ''
143 if util.safehasattr(self, '_bbrepo'):
149 if util.safehasattr(self, '_bbrepo'):
144 ctx = self._bbrepo[None]
150 ctx = self._bbrepo[None]
145 if ctx.rev() is not None:
151 if ctx.rev() is not None:
@@ -147,9 +153,14 b' def wrapui(ui):'
147 else:
153 else:
148 parents = ctx.parents()
154 parents = ctx.parents()
149 rev = ('+'.join([hexfn(p.node()) for p in parents]))
155 rev = ('+'.join([hexfn(p.node()) for p in parents]))
156 if (self.configbool('blackbox', 'dirty', False) and (
157 any(self._bbrepo.status()) or
158 any(ctx.sub(s).dirty() for s in ctx.substate)
159 )):
160 changed = '+'
150 try:
161 try:
151 fp.write('%s %s @%s (%s)> %s' %
162 fp.write('%s %s @%s%s (%s)> %s' %
152 (date, user, rev, pid, formattedmsg))
163 (date, user, rev, changed, pid, formattedmsg))
153 fp.flush()
164 fp.flush()
154 except IOError as err:
165 except IOError as err:
155 self.debug('warning: cannot write to blackbox.log: %s\n' %
166 self.debug('warning: cannot write to blackbox.log: %s\n' %
@@ -12,13 +12,13 b' command, exit codes, and duration'
12
12
13 $ echo a > a
13 $ echo a > a
14 $ hg add a
14 $ hg add a
15 $ hg id > /dev/null
15 $ hg id --config blackbox.dirty=True > /dev/null
16 $ hg blackbox
16 $ hg blackbox --config blackbox.dirty=True
17 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> add a
17 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> add a
18 1970/01/01 00:00:00 bob @(unknown) (5000)> add a exited 0 after * seconds (glob)
18 1970/01/01 00:00:00 bob @(unknown) (5000)> add a exited 0 after * seconds (glob)
19 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> id
19 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000+ (5000)> id
20 1970/01/01 00:00:00 bob @(unknown) (5000)> id exited 0 after * seconds (glob)
20 1970/01/01 00:00:00 bob @(unknown) (5000)> id --config blackbox.dirty=True exited 0 after * seconds (glob)
21 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> blackbox
21 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000+ (5000)> blackbox
22
22
23 incoming change tracking
23 incoming change tracking
24
24
@@ -216,6 +216,10 b' Merge the two heads:'
216 $ hg merge 1
216 $ hg merge 1
217 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
217 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
218 (branch merge, don't forget to commit)
218 (branch merge, don't forget to commit)
219 $ hg blackbox -l3
220 1970/01/01 00:00:00 bob @c8edf04160c7f731e4589d66ab3ab3486a64ac28 (5000)> merge 1
221 1970/01/01 00:00:00 bob @(unknown) (5000)> merge 1 exited 0 after * seconds (glob)
222 1970/01/01 00:00:00 bob @c8edf04160c7f731e4589d66ab3ab3486a64ac28+b9154636be938d3d431e75a7c906504a079bfe07 (5000)> blackbox -l3
219 $ hg id
223 $ hg id
220 c8edf04160c7+b9154636be93+ tip
224 c8edf04160c7+b9154636be93+ tip
221 $ hg status
225 $ hg status
General Comments 0
You need to be logged in to leave comments. Login now