On 2017-04-11 22:51, Scott Robison wrote:
On Tue, Apr 11, 2017 at 3:39 PM, Scott Robison <sc...@casaderobison.com> wrote:
On Tue, Apr 11, 2017 at 3:21 PM, Thomas <tho...@dateiliste.com> wrote:
On 2017-04-11 22:11, Thomas wrote:
add
--ignore <CSG> Ignore unmanaged files matching
patterns from the comma separated list of
glob patterns.
--exclude <CSG> Exclude files matching patterns from
the comma separated list of glob patterns.
The same for addremove, I guess.
I've updated the documentation for --ignore for add and addremove.
Adding exclude is more than I have time for at this moment. Baby
steps.
I still think there is a fundamental misunderstanding about addremove.
I think not a misunderstanding but I made a minor error. There's nothing
wrong with the add command as it currently is. This --exclude would only
apply to addremove because the add command has it already (= rm or delete).
You create a new repo. You run fossil addremove and get everything in
there, including things you don't want because you've never setup
ignore globs. You commit.
Now you know you need ignore, so you type fossil addremove --ignore
'*.whatever'. Files matching *.whatever that are already in the repo
will not be removed from the repo. Files matching *.whatever that are
not in the repo will not be added to the repo. fossil addremove does
not commit files, it just prepares to add or remove them in the next
commit.
Yes. That's how I understood it.
Since it doesn't make much sense to just run addremove alone, I always
run addremove and then commit immediately. I got a batch file that does
this.
Has your point been that running "addremove --ignore '*.whatever'"
treat files matching those patterns as missing so they will be removed
at the next commit? I don't think so because you said you didn't
expect it to remove the files. But you are surprised that --ignore
isn't ignoring files in addremove, and according to each and every
test I've run, it does ignore those unmanaged files so they are not
added.
It (--ignore) only ignores unmanaged files. But basically, what I
expected it to do is remove these files from the next commit, as if I
had removed them with rm or delete manually. Of course they're still in
the repository in the previous revision.
So, the issue only arises with addremove. Since after the first
addremove and commit all files are in the repository in the first
revision, --ignore has no function for consecutive invocations of
addremove and commit, as all files are now managed. The files happily
appear in the commit comment but you won't get any clue about why.
Maybe you could try a new repository from scratch and try it the way I
described in my earlier posts. Or maybe you could give me the exact
command line you are running, and the fossil version output, and even
the OS / shell you are using so that I can see if there is something
else surprising about this.
It's exactly the way you described it.
- New repository.
- open
- Copy project files in the checked out folder structure.
- addremove + commit
- ui to see that lots of files are in the repository that shouldn't be there
- Use --ignore with the next addremove + commit cycle and see that it
doesn't work as you'd expect
_______________________________________________
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users