D6265: narrow: also warn when not deleting untracked or ignored files
martinvonz (Martin von Zweigbergk)
phabricator at mercurial-scm.org
Thu Apr 18 07:42:26 EDT 2019
This revision was automatically updated to reflect the committed changes.
Closed by commit rHGaa8f83923aef: narrow: also warn when not deleting untracked or ignored files (authored by martinvonz, committed by ).
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D6265?vs=14807&id=14839
REVISION DETAIL
https://phab.mercurial-scm.org/D6265
AFFECTED FILES
mercurial/narrowspec.py
tests/test-narrow-share.t
CHANGE DETAILS
diff --git a/tests/test-narrow-share.t b/tests/test-narrow-share.t
--- a/tests/test-narrow-share.t
+++ b/tests/test-narrow-share.t
@@ -28,6 +28,9 @@
$ hg clone --narrow ssh://user@dummy/remote main -q \
> --include d1 --include d3 --include d5 --include d7
+Ignore file called "ignored"
+ $ echo ignored > main/.hgignore
+
$ hg share main share
updating working directory
4 files updated, 0 files merged, 0 files removed, 0 files unresolved
@@ -55,15 +58,19 @@
# Make d3/f dirty
$ echo x >> main/d3/f
$ echo y >> main/d3/g
+ $ touch main/d3/ignored
+ $ touch main/d3/untracked
$ hg add main/d3/g
$ hg -R main st
M d3/f
A d3/g
+ ? d3/untracked
# Make d5/f not match the dirstate timestamp even though it's clean
$ sleep 2
$ hg -R main st
M d3/f
A d3/g
+ ? d3/untracked
$ hg -R main debugdirstate --no-dates
n 644 2 set d1/f
n 644 2 set d3/f
@@ -91,14 +98,18 @@
not deleting possibly dirty file d3/f
not deleting possibly dirty file d3/g
not deleting possibly dirty file d5/f
+ not deleting unknown file d3/untracked
+ not deleting ignored file d3/ignored
# d1/f, d3/f, d3/g and d5/f should no longer be reported
$ hg -R main files
main/d7/f
# d1/f should no longer be there, d3/f should be since it was dirty, d3/g should be there since
# it was added, and d5/f should be since we couldn't be sure it was clean
$ find main/d* -type f | sort
main/d3/f
main/d3/g
+ main/d3/ignored
+ main/d3/untracked
main/d5/f
main/d7/f
@@ -131,6 +142,8 @@
$ hg -R main st --all
M d3/f
? d3/g
+ ? d3/untracked
+ I d3/ignored
C d1/f
C d7/f
diff --git a/mercurial/narrowspec.py b/mercurial/narrowspec.py
--- a/mercurial/narrowspec.py
+++ b/mercurial/narrowspec.py
@@ -293,8 +293,8 @@
removedmatch = matchmod.differencematcher(oldmatch, newmatch)
ds = repo.dirstate
- lookup, status = ds.status(removedmatch, subrepos=[], ignored=False,
- clean=True, unknown=False)
+ lookup, status = ds.status(removedmatch, subrepos=[], ignored=True,
+ clean=True, unknown=True)
trackeddirty = status.modified + status.added
clean = status.clean
if assumeclean:
@@ -306,6 +306,10 @@
uipathfn = scmutil.getuipathfn(repo)
for f in sorted(trackeddirty):
repo.ui.status(_('not deleting possibly dirty file %s\n') % uipathfn(f))
+ for f in sorted(status.unknown):
+ repo.ui.status(_('not deleting unknown file %s\n') % uipathfn(f))
+ for f in sorted(status.ignored):
+ repo.ui.status(_('not deleting ignored file %s\n') % uipathfn(f))
for f in clean + trackeddirty:
ds.drop(f)
To: martinvonz, durin42, #hg-reviewers, rdamazio, pulkit
Cc: rdamazio, mercurial-devel
More information about the Mercurial-devel
mailing list