Mercurial > hg
view tests/svn-safe-append.py @ 23587:8063901e56cd
memctx: calculate exact status being committed from specified files
Before this patch, "memctx._status" is initialized by "(files, [], [],
[], [], [], [])" and this causes "memctx.modified" to include not
only modified files but also added and removed ones incorrectly.
This patch adds "_status" method to calculate exact status being
committed according to "files" specified at construction time.
Exact "_status" is useful to share/reuse logic of committablectx.
This patch is also preparation for issues fixed by subsequent patches.
Some details of changes for tests in this patch:
- some filename lines are omitted in "test-convert-svn-encoding.t",
because they are correctly listed up as "removed" files
those lines are written out in "localrepository.commitctx" for
"modified" and "added" files by "ui.note".
- "| fixbundle" filterring in "test-histedit-fold.t" is omitted to
check lines including "added" correctly
"fixbundle" discards all lines including "added".
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Wed, 17 Dec 2014 15:09:38 +0900 |
parents | c1b47c0fd2b6 |
children | bdba6a2015d0 |
line wrap: on
line source
#!/usr/bin/env python __doc__ = """Same as `echo a >> b`, but ensures a changed mtime of b. Without this svn will not detect workspace changes.""" import sys, os text = sys.argv[1] fname = sys.argv[2] f = open(fname, "ab") try: before = os.fstat(f.fileno()).st_mtime f.write(text) f.write("\n") finally: f.close() inc = 1 now = os.stat(fname).st_mtime while now == before: t = now + inc inc += 1 os.utime(fname, (t, t)) now = os.stat(fname).st_mtime