D8031: copy: rewrite walkpat() to depend less on dirstate

2020-02-13 Thread martinvonz (Martin von Zweigbergk)
Closed by commit rHG2bd3b95fdce0: copy: rewrite walkpat() to depend less on 
dirstate (authored by martinvonz).
This revision was automatically updated to reflect the committed changes.
This revision was not accepted when it landed; it landed in state "Needs 
Review".

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D8031?vs=20171=20196

CHANGES SINCE LAST ACTION
  https://phab.mercurial-scm.org/D8031/new/

REVISION DETAIL
  https://phab.mercurial-scm.org/D8031

AFFECTED FILES
  mercurial/cmdutil.py

CHANGE DETAILS

diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py
--- a/mercurial/cmdutil.py
+++ b/mercurial/cmdutil.py
@@ -1419,32 +1419,35 @@
 after = opts.get(b"after")
 dryrun = opts.get(b"dry_run")
 wctx = repo[None]
+pctx = wctx.p1()
 
 uipathfn = scmutil.getuipathfn(repo, legacyrelativevalue=True)
 
 def walkpat(pat):
 srcs = []
-if after:
-badstates = b'?'
-else:
-badstates = b'?r'
 m = scmutil.match(wctx, [pat], opts, globbed=True)
 for abs in wctx.walk(m):
-state = repo.dirstate[abs]
 rel = uipathfn(abs)
 exact = m.exact(abs)
-if state in badstates:
-if exact and state == b'?':
-ui.warn(_(b'%s: not copying - file is not managed\n') % 
rel)
-if exact and state == b'r':
-ui.warn(
-_(
-b'%s: not copying - file has been marked for'
-b' remove\n'
+if abs not in wctx:
+if abs in pctx:
+if not after:
+if exact:
+ui.warn(
+_(
+b'%s: not copying - file has been marked '
+b'for remove\n'
+)
+% rel
+)
+continue
+else:
+if exact:
+ui.warn(
+_(b'%s: not copying - file is not managed\n') % rel
 )
-% rel
-)
-continue
+continue
+
 # abs: hgsep
 # rel: ossep
 srcs.append((abs, rel, exact))



To: martinvonz, #hg-reviewers, marmoute
Cc: marmoute, mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D8031: copy: rewrite walkpat() to depend less on dirstate

2020-02-12 Thread martinvonz (Martin von Zweigbergk)
martinvonz updated this revision to Diff 20171.

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D8031?vs=20150=20171

BRANCH
  default

CHANGES SINCE LAST ACTION
  https://phab.mercurial-scm.org/D8031/new/

REVISION DETAIL
  https://phab.mercurial-scm.org/D8031

AFFECTED FILES
  mercurial/cmdutil.py

CHANGE DETAILS

diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py
--- a/mercurial/cmdutil.py
+++ b/mercurial/cmdutil.py
@@ -1419,32 +1419,35 @@
 after = opts.get(b"after")
 dryrun = opts.get(b"dry_run")
 wctx = repo[None]
+pctx = wctx.p1()
 
 uipathfn = scmutil.getuipathfn(repo, legacyrelativevalue=True)
 
 def walkpat(pat):
 srcs = []
-if after:
-badstates = b'?'
-else:
-badstates = b'?r'
 m = scmutil.match(wctx, [pat], opts, globbed=True)
 for abs in wctx.walk(m):
-state = repo.dirstate[abs]
 rel = uipathfn(abs)
 exact = m.exact(abs)
-if state in badstates:
-if exact and state == b'?':
-ui.warn(_(b'%s: not copying - file is not managed\n') % 
rel)
-if exact and state == b'r':
-ui.warn(
-_(
-b'%s: not copying - file has been marked for'
-b' remove\n'
+if abs not in wctx:
+if abs in pctx:
+if not after:
+if exact:
+ui.warn(
+_(
+b'%s: not copying - file has been marked '
+b'for remove\n'
+)
+% rel
+)
+continue
+else:
+if exact:
+ui.warn(
+_(b'%s: not copying - file is not managed\n') % rel
 )
-% rel
-)
-continue
+continue
+
 # abs: hgsep
 # rel: ossep
 srcs.append((abs, rel, exact))



To: martinvonz, #hg-reviewers, marmoute
Cc: marmoute, mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D8031: copy: rewrite walkpat() to depend less on dirstate

2020-02-10 Thread martinvonz (Martin von Zweigbergk)
martinvonz updated this revision to Diff 20150.

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D8031?vs=20083=20150

BRANCH
  default

CHANGES SINCE LAST ACTION
  https://phab.mercurial-scm.org/D8031/new/

REVISION DETAIL
  https://phab.mercurial-scm.org/D8031

AFFECTED FILES
  mercurial/cmdutil.py

CHANGE DETAILS

diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py
--- a/mercurial/cmdutil.py
+++ b/mercurial/cmdutil.py
@@ -1422,6 +1422,7 @@
 after = opts.get(b"after")
 dryrun = opts.get(b"dry_run")
 wctx = repo[None]
+pctx = wctx.p1()
 
 uipathfn = scmutil.getuipathfn(repo, legacyrelativevalue=True)
 
@@ -1481,27 +1482,29 @@
 
 def walkpat(pat):
 srcs = []
-if after:
-badstates = b'?'
-else:
-badstates = b'?r'
 m = scmutil.match(wctx, [pat], opts, globbed=True)
 for abs in wctx.walk(m):
-state = repo.dirstate[abs]
 rel = uipathfn(abs)
 exact = m.exact(abs)
-if state in badstates:
-if exact and state == b'?':
-ui.warn(_(b'%s: not copying - file is not managed\n') % 
rel)
-if exact and state == b'r':
-ui.warn(
-_(
-b'%s: not copying - file has been marked for'
-b' remove\n'
+if abs not in wctx:
+if abs in pctx:
+if not after:
+if exact:
+ui.warn(
+_(
+b'%s: not copying - file has been marked '
+b'for remove\n'
+)
+% rel
+)
+continue
+else:
+if exact:
+ui.warn(
+_(b'%s: not copying - file is not managed\n') % rel
 )
-% rel
-)
-continue
+continue
+
 # abs: hgsep
 # rel: ossep
 srcs.append((abs, rel, exact))



To: martinvonz, #hg-reviewers, marmoute
Cc: marmoute, mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D8031: copy: rewrite walkpat() to depend less on dirstate

2020-02-10 Thread martinvonz (Martin von Zweigbergk)
martinvonz updated this revision to Diff 20083.

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D8031?vs=20070=20083

BRANCH
  default

CHANGES SINCE LAST ACTION
  https://phab.mercurial-scm.org/D8031/new/

REVISION DETAIL
  https://phab.mercurial-scm.org/D8031

AFFECTED FILES
  mercurial/cmdutil.py

CHANGE DETAILS

diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py
--- a/mercurial/cmdutil.py
+++ b/mercurial/cmdutil.py
@@ -1415,6 +1415,7 @@
 after = opts.get(b"after")
 dryrun = opts.get(b"dry_run")
 wctx = repo[None]
+pctx = wctx.p1()
 
 uipathfn = scmutil.getuipathfn(repo, legacyrelativevalue=True)
 
@@ -1474,27 +1475,29 @@
 
 def walkpat(pat):
 srcs = []
-if after:
-badstates = b'?'
-else:
-badstates = b'?r'
 m = scmutil.match(wctx, [pat], opts, globbed=True)
 for abs in wctx.walk(m):
-state = repo.dirstate[abs]
 rel = uipathfn(abs)
 exact = m.exact(abs)
-if state in badstates:
-if exact and state == b'?':
-ui.warn(_(b'%s: not copying - file is not managed\n') % 
rel)
-if exact and state == b'r':
-ui.warn(
-_(
-b'%s: not copying - file has been marked for'
-b' remove\n'
+if abs not in wctx:
+if abs in pctx:
+if not after:
+if exact:
+ui.warn(
+_(
+b'%s: not copying - file has been marked '
+b'for remove\n'
+)
+% rel
+)
+continue
+else:
+if exact:
+ui.warn(
+_(b'%s: not copying - file is not managed\n') % rel
 )
-% rel
-)
-continue
+continue
+
 # abs: hgsep
 # rel: ossep
 srcs.append((abs, rel, exact))



To: martinvonz, #hg-reviewers, marmoute
Cc: marmoute, mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D8031: copy: rewrite walkpat() to depend less on dirstate

2020-02-10 Thread martinvonz (Martin von Zweigbergk)
martinvonz updated this revision to Diff 20070.

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D8031?vs=19694=20070

BRANCH
  default

CHANGES SINCE LAST ACTION
  https://phab.mercurial-scm.org/D8031/new/

REVISION DETAIL
  https://phab.mercurial-scm.org/D8031

AFFECTED FILES
  mercurial/cmdutil.py

CHANGE DETAILS

diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py
--- a/mercurial/cmdutil.py
+++ b/mercurial/cmdutil.py
@@ -1415,6 +1415,7 @@
 after = opts.get(b"after")
 dryrun = opts.get(b"dry_run")
 wctx = repo[None]
+pctx = wctx.p1()
 
 uipathfn = scmutil.getuipathfn(repo, legacyrelativevalue=True)
 
@@ -1474,27 +1475,29 @@
 
 def walkpat(pat):
 srcs = []
-if after:
-badstates = b'?'
-else:
-badstates = b'?r'
 m = scmutil.match(wctx, [pat], opts, globbed=True)
 for abs in wctx.walk(m):
-state = repo.dirstate[abs]
 rel = uipathfn(abs)
 exact = m.exact(abs)
-if state in badstates:
-if exact and state == b'?':
-ui.warn(_(b'%s: not copying - file is not managed\n') % 
rel)
-if exact and state == b'r':
-ui.warn(
-_(
-b'%s: not copying - file has been marked for'
-b' remove\n'
+if abs not in wctx:
+if abs in pctx:
+if not after:
+if exact:
+ui.warn(
+_(
+b'%s: not copying - file has been marked '
+b'for remove\n'
+)
+% rel
+)
+continue
+else:
+if exact:
+ui.warn(
+_(b'%s: not copying - file is not managed\n') % rel
 )
-% rel
-)
-continue
+continue
+
 # abs: hgsep
 # rel: ossep
 srcs.append((abs, rel, exact))



To: martinvonz, #hg-reviewers, marmoute
Cc: marmoute, mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D8031: copy: rewrite walkpat() to depend less on dirstate

2020-02-07 Thread marmoute (Pierre-Yves David)
marmoute added a comment.
marmoute accepted this revision.


  This looks like a small cleanup we could take independently.

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST ACTION
  https://phab.mercurial-scm.org/D8031/new/

REVISION DETAIL
  https://phab.mercurial-scm.org/D8031

To: martinvonz, #hg-reviewers, marmoute
Cc: marmoute, mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D8031: copy: rewrite walkpat() to depend less on dirstate

2020-01-29 Thread martinvonz (Martin von Zweigbergk)
martinvonz updated this revision to Diff 19694.

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D8031?vs=19664=19694

BRANCH
  default

CHANGES SINCE LAST ACTION
  https://phab.mercurial-scm.org/D8031/new/

REVISION DETAIL
  https://phab.mercurial-scm.org/D8031

AFFECTED FILES
  mercurial/cmdutil.py

CHANGE DETAILS

diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py
--- a/mercurial/cmdutil.py
+++ b/mercurial/cmdutil.py
@@ -1419,32 +1419,35 @@
 after = opts.get(b"after")
 dryrun = opts.get(b"dry_run")
 wctx = repo[None]
+pctx = wctx.p1()
 
 uipathfn = scmutil.getuipathfn(repo, legacyrelativevalue=True)
 
 def walkpat(pat):
 srcs = []
-if after:
-badstates = b'?'
-else:
-badstates = b'?r'
 m = scmutil.match(wctx, [pat], opts, globbed=True)
 for abs in wctx.walk(m):
-state = repo.dirstate[abs]
 rel = uipathfn(abs)
 exact = m.exact(abs)
-if state in badstates:
-if exact and state == b'?':
-ui.warn(_(b'%s: not copying - file is not managed\n') % 
rel)
-if exact and state == b'r':
-ui.warn(
-_(
-b'%s: not copying - file has been marked for'
-b' remove\n'
+if abs not in wctx:
+if abs in pctx:
+if not after:
+if exact:
+ui.warn(
+_(
+b'%s: not copying - file has been marked '
+b'for remove\n'
+)
+% rel
+)
+continue
+else:
+if exact:
+ui.warn(
+_(b'%s: not copying - file is not managed\n') % rel
 )
-% rel
-)
-continue
+continue
+
 # abs: hgsep
 # rel: ossep
 srcs.append((abs, rel, exact))



To: martinvonz, #hg-reviewers
Cc: mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D8031: copy: rewrite walkpat() to depend less on dirstate

2020-01-28 Thread martinvonz (Martin von Zweigbergk)
martinvonz created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  I want to add a `hg cp/mv -r ` option to mark files as
  copied/moved in an existing commit (amending that commit). The code
  needs to not depend on the dirstate for that.

REPOSITORY
  rHG Mercurial

BRANCH
  default

REVISION DETAIL
  https://phab.mercurial-scm.org/D8031

AFFECTED FILES
  mercurial/cmdutil.py

CHANGE DETAILS

diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py
--- a/mercurial/cmdutil.py
+++ b/mercurial/cmdutil.py
@@ -1419,32 +1419,35 @@
 after = opts.get(b"after")
 dryrun = opts.get(b"dry_run")
 wctx = repo[None]
+pctx = wctx.p1()
 
 uipathfn = scmutil.getuipathfn(repo, legacyrelativevalue=True)
 
 def walkpat(pat):
 srcs = []
-if after:
-badstates = b'?'
-else:
-badstates = b'?r'
 m = scmutil.match(wctx, [pat], opts, globbed=True)
 for abs in wctx.walk(m):
-state = repo.dirstate[abs]
 rel = uipathfn(abs)
 exact = m.exact(abs)
-if state in badstates:
-if exact and state == b'?':
-ui.warn(_(b'%s: not copying - file is not managed\n') % 
rel)
-if exact and state == b'r':
-ui.warn(
-_(
-b'%s: not copying - file has been marked for'
-b' remove\n'
+if abs not in wctx:
+if abs in pctx:
+if not after:
+if exact:
+ui.warn(
+_(
+b'%s: not copying - file has been marked '
+b'for remove\n'
+)
+% rel
+)
+continue
+else:
+if exact:
+ui.warn(
+_(b'%s: not copying - file is not managed\n') % rel
 )
-% rel
-)
-continue
+continue
+
 # abs: hgsep
 # rel: ossep
 srcs.append((abs, rel, exact))



To: martinvonz, #hg-reviewers
Cc: mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel