darcs

Issue 2501 "darcs show files" does not work in a repository with suspended patches

Title "darcs show files" does not work in a repository with suspended patches
Priority Status needs-diagnosis/design
Milestone Resolved in
Superseder Nosy List bholst
Assigned To
Topics

Created on 2016-06-17.22:42:05 by bholst, last changed 2016-06-20.05:43:37 by ganesh.

Files
File name Uploaded Type Edit Remove
repository.tar.gz bholst, 2016-06-17.22:42:03 application/gzip
Messages
msg19230 (view) Author: bholst Date: 2016-06-17.22:42:03
1. Summarise the issue (what were doing, what went wrong?)
* I created a new empty repository with "darcs init"
* The first patch adds file y, the second one adds file z
* The first patch is suspended with "darcs rebase suspend"
* Now "darcs show files" outputs the following:
> darcs show files
Rebase in progress: 1 suspended patches
darcs: can't mix match and pending flags

2. What behaviour were you expecting instead?
I expected darcs to show me the file "y".

3. What darcs version are you using? (Try: darcs --exact-version)
>  darcs --exact-version
darcs compiled on Jun  9 2016, at 15:31:42

Context:

[TAG 2.12.0
Guillaume Hoffmann <guillaumh@gmail.com>**20160429142058
 Ignore-this: 5c8cbe0424942686a2168f9e6fd8e35d
] 

Compiled with:

HTTP-4000.3.3
array-0.5.1.0
async-2.1.0
attoparsec-0.13.0.2
base-4.8.2.0
base16-bytestring-0.1.1.6
binary-0.7.5.0
bytestring-0.10.6.0
containers-0.5.6.2
cryptohash-0.11.9
data-ordlist-0.4.7.0
directory-1.2.2.0
fgl-5.5.2.3
filepath-1.4.0.0
graphviz-2999.18.1.0
hashable-1.2.4.0
haskeline-0.7.2.3
html-1.0.1.2
mmap-0.5.9
mtl-2.2.1
network-2.6.2.1
network-uri-2.6.1.0
old-time-1.1.0.3
parsec-3.1.11
process-1.2.3.0
random-1.1
regex-applicative-0.3.3
regex-compat-tdfa-0.95.1.4
sandi-0.3.6
tar-0.5.0.3
terminfo-0.4.0.2
text-1.2.2.1
time-1.5.0.1
transformers-0.4.2.0
transformers-compat-0.4.0.4
unix-2.7.1.0
unix-compat-0.4.1.4
utf8-string-1.0.1.1
vector-0.11.0.0
zip-archive-0.2.3.7
zlib-0.6.1.1



4. What operating system are you running?
openSUSE Tumbleweed
> uname -a
Linux linux-isk2 4.6.2-1-default #1 SMP PREEMPT Fri Jun 10 08:12:44 UTC
2016 (2a68ef0) x86_64 x86_64 x86_64 GNU/Linux
Attachments
msg19231 (view) Author: ganesh Date: 2016-06-20.05:43:33
For bad implementation reasons this is not going to be trivial to 
fix, but as a workaround you can pass the `--no-pending` flag. This 
will have the side-effect of ignoring outstanding changes e.g. from 
`darcs add`.

Implementation note - this is because repositories in rebase 
automatically add a "nonInternal" matcher to the command-line 
arguments. This in turn causes 'show files' to think it can't just 
look in recorded to see the live files, and it doesn't know how to 
apply pending on top of any other repository state. In practice if 
the nonInternal matcher is the only matcher, it can just look in 
recorded, but I'd like to find a clean way of signalling that, or to 
get away from the hack of using an extra matcher to ignore rebase 
internal patches.
History
Date User Action Args
2016-06-17 22:42:05bholstcreate
2016-06-20 05:43:37ganeshsetstatus: unknown -> needs-diagnosis/design
messages: + msg19231