Re: [fossil-users] Issue with ignore-glob

2017-04-10 Thread Scott Robison
On Apr 10, 2017 5:02 PM, "Thomas"  wrote:

On 2017-04-10 22:28, Scott Robison wrote:

> On Mon, Apr 10, 2017 at 2:57 PM, Thomas  wrote:
>
>> I reckon I owe you a beer! ;-)
>>
>
> Not at all. I don't drink, anyway. Well, not beer. :)
>

You're probably missing one of the best parts in life here ;-)



Anyway, your suggestion sounds very reasonable (ok, it doesn't sound
>> reasonable at all to be honest, but I think that's what happened).
>>
>
> I think if you add a file to a repo then add an ignore, it is safer to
> keep maintaining it rather than suddenly ignoring it. The two events
> are conflicting, so fail safe. Removing the file allows it to be
> ignored going forward.
>

I just tried it. Yepp, that was it. ;-)

The --ignore argument as well as the .fossil-settings\ignore-glob file
don't work for files or file masks that have been committed at some point
after the repository has been created. Your work-around worked. After
deleting some of these files, committing, changing, and committing again,
they were ignored/not checked in afterwards.

I'd say this is either a big design flaw or a bug.
It's not mentioned anywhere in the documentation and is anything but
logical and reasonable.


Perhaps it should be documented, but I don't think it is a bug. It is the
software doing the job it was originally told to do (track versions of a
file) instead of doing the job it was subsequently told to do (ignore
untracked files with a given glob).

For example, I have licensed libraries in the past that are shipped as obj
files. They need to be tracked, even though most obj files don't. This
model allows you to add certain obj files which will be tracked while
ignoring all others.


I reckon everyone starts using software with the default settings.

I'd even go a step further and say when someone starts using a source code
version management software the first thing they do is give it a go and
check out and in again pretty much everything they got scattered around
their harddrive and every memory stick in reach. ;)

The least I'd expect is that these files are not just silently uploaded but
that I'd receive a message, explaining why they are uploaded. I thought I
got to chuck the box out the window after I'd been asked again so many time
to enter a commit note including all the files I didn't want it to include.
Bear in mind, I explicitely told the software not to upload them, but it
secretly ignores/drops my command. That is far from being user-friendly. ;-)

Of course I'm glad to know now how to circumvent this issue.
Thanks again.


___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Issue with ignore-glob

2017-04-10 Thread Thomas

On 2017-04-11 00:01, Thomas wrote:

The --ignore argument as well as the .fossil-settings\ignore-glob file
don't work for files or file masks that have been committed at some
point after the repository has been created. Your work-around worked.
After deleting some of these files, committing, changing, and committing
again, they were ignored/not checked in afterwards.

I'd say this is either a big design flaw or a bug.
It's not mentioned anywhere in the documentation and is anything but
logical and reasonable.


That's also a big security hole.

Someone checks in a file 
password.this_is_so_confidential_you_should_never_disclose_it_to_anyone.txt.


Bang.

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Issue with ignore-glob

2017-04-10 Thread Thomas

On 2017-04-10 22:28, Scott Robison wrote:

On Mon, Apr 10, 2017 at 2:57 PM, Thomas  wrote:

I reckon I owe you a beer! ;-)


Not at all. I don't drink, anyway. Well, not beer. :)


You're probably missing one of the best parts in life here ;-)



Anyway, your suggestion sounds very reasonable (ok, it doesn't sound
reasonable at all to be honest, but I think that's what happened).


I think if you add a file to a repo then add an ignore, it is safer to
keep maintaining it rather than suddenly ignoring it. The two events
are conflicting, so fail safe. Removing the file allows it to be
ignored going forward.


I just tried it. Yepp, that was it. ;-)

The --ignore argument as well as the .fossil-settings\ignore-glob file 
don't work for files or file masks that have been committed at some 
point after the repository has been created. Your work-around worked. 
After deleting some of these files, committing, changing, and committing 
again, they were ignored/not checked in afterwards.


I'd say this is either a big design flaw or a bug.
It's not mentioned anywhere in the documentation and is anything but 
logical and reasonable.


I reckon everyone starts using software with the default settings.

I'd even go a step further and say when someone starts using a source 
code version management software the first thing they do is give it a go 
and check out and in again pretty much everything they got scattered 
around their harddrive and every memory stick in reach. ;)


The least I'd expect is that these files are not just silently uploaded 
but that I'd receive a message, explaining why they are uploaded. I 
thought I got to chuck the box out the window after I'd been asked again 
so many time to enter a commit note including all the files I didn't 
want it to include.
Bear in mind, I explicitely told the software not to upload them, but it 
secretly ignores/drops my command. That is far from being user-friendly. ;-)


Of course I'm glad to know now how to circumvent this issue.
Thanks again.

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Issue with ignore-glob

2017-04-10 Thread Scott Robison
On Mon, Apr 10, 2017 at 2:57 PM, Thomas  wrote:
> I reckon I owe you a beer! ;-)

Not at all. I don't drink, anyway. Well, not beer. :)

I was surprised my first guess was off base, but actually sitting down
and trying some stuff outside the large repo you're using was useful
to see how things worked.

> Anyway, your suggestion sounds very reasonable (ok, it doesn't sound
> reasonable at all to be honest, but I think that's what happened).

I think if you add a file to a repo then add an ignore, it is safer to
keep maintaining it rather than suddenly ignoring it. The two events
are conflicting, so fail safe. Removing the file allows it to be
ignored going forward.

> After reading your mail I remembered that all files that have been ignored
> all along via ignore-glob or --ignore are files I deleted manually at one
> point or another.
>
> The files that always go into the repro I've never touched but I'd added
> them to the ignore list later.

Glad I was able to point you in a useful direction.

FYI: In looking a little at the code, I can see that there was some
work related to versioned settings a couple years ago now that seems
to have been put in place to check either the file in the repo or the
file on the disk depending on what is available. I don't have time to
understand it completely, but that seems to be the source of my
confusion as to when / where versioned settings are accessed / read.

-- 
Scott Robison
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Issue with ignore-glob

2017-04-10 Thread Thomas

On 2017-04-10 21:36, Scott Robison wrote:

Next I added a.a explicitly (it warned me and I said okay) and
committed. Then I made a change to a.a and it was identified as a
change for the next commit.

So my best guess at the moment is: During one of your earlier attempts
at adding things, you added a bunch of files and committed them to the
repo. Now that those files are in the repo, fossil will not ignore
them because they are part of the repo. If you were to remove the
files from the work directory so that fossil was no longer tracking
them, commit those changes, then try addremove again, it might work
more to your liking.

At least, that worked for me here with a simple little repo with only
a few files in it.

My version: "This is fossil version 2.1 [83e3445f67] 2017-03-10 17:07:08 UTC"


I reckon I owe you a beer! ;-)

I haven't tried it yet because soe of the files I should remove are 
quite big. I'll try to move them out of the open path later. I'm sure 
Visual Studio is going to rebuild its Intellisense SQLite databases 
again but this might take a long time for various projects.


Anyway, your suggestion sounds very reasonable (ok, it doesn't sound 
reasonable at all to be honest, but I think that's what happened).


After reading your mail I remembered that all files that have been 
ignored all along via ignore-glob or --ignore are files I deleted 
manually at one point or another.


The files that always go into the repro I've never touched but I'd added 
them to the ignore list later.


___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Issue with ignore-glob

2017-04-10 Thread Scott Robison
On Mon, Apr 10, 2017 at 1:58 PM, Thomas  wrote:
> On 2017-04-10 20:34, Scott Robison wrote:
>>
>> On Mon, Apr 10, 2017 at 1:05 PM, Thomas  wrote:
>>>
>>> On 2017-04-10 20:00, Scott Robison wrote:
>>
>> Let's say you have a repo named bob. You have not yet committed any
>> .fossil-settings files. You create the .fossil-settings files then run
>> addremove and commit. The addremove command will not recognize any of
>> the files you are ignoring at this point because you've never
>> committed the .fossil-settings files themselves.
>
>
> Thanks for your extensive explanation. You're right, I would have never
> expected it to work like this. In fact, I believe if it really behaves as
> you described it, that's something that should be mentioned in the
> documentation.
>
> I can't imagine I'd be the only or first one who'd stumble over this. It
> means that whatever you do or want to do the first commit automatically
> stores all files unconditionally in the repository.
>
> I'd even go as far as to say this defeats the whole idea of having (only)
> these files in the first place. Or, in other words, what good is an
> exclusion or filter list that doesn't exclude or filter right from the
> start?
>
>
>> If you *are* doing this, maybe you would be satisfied with a flow like
>> this:
>>
>> 1. update .fossil-settings
>> 2. add (if necessary) and commit those changes
>> 3. now run addremove for the entire working copy
>> 4. now commit those changes.
>
>
> I am using these files at the moment, yes.
>
> But even before the first addremove or commit I had the .VC.db or .tlog
> files exluded with the --ignore parameter on the command line for addremove.
> So, no this behavior can't be the reason why Fossil ignores some files but
> not others.
>
> fossil addremove
> and
> fossil commit
> must have been run hundreds of times now, and the files are still updated in
> the repository every time addremove is performed.

I'm running on very little sleep, so I hope I'm helping more than just rambling.

Anyway, I just created an empty test repo:

> fossil init test.fossil

then opened it

> fossil open test.fossil

then created three files

> echo '*.a' > .fossil-settings\ignore-glob
> echo a > a.a
> echo b > b.b

then ran fossil addremove and it only added b.b. My guess is that
since I last cared about that bit of functionality, someone changed it
to work more intuitively.

Given that .fossil-settings\ignore-glob is in a hidden dot folder,
addremove does not automatically add the ignore-glob file itself. I
did that separately.

Next I added a.a explicitly (it warned me and I said okay) and
committed. Then I made a change to a.a and it was identified as a
change for the next commit.

So my best guess at the moment is: During one of your earlier attempts
at adding things, you added a bunch of files and committed them to the
repo. Now that those files are in the repo, fossil will not ignore
them because they are part of the repo. If you were to remove the
files from the work directory so that fossil was no longer tracking
them, commit those changes, then try addremove again, it might work
more to your liking.

At least, that worked for me here with a simple little repo with only
a few files in it.

My version: "This is fossil version 2.1 [83e3445f67] 2017-03-10 17:07:08 UTC"

-- 
Scott Robison
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Issue with ignore-glob

2017-04-10 Thread Thomas

On 2017-04-10 20:34, Scott Robison wrote:

On Mon, Apr 10, 2017 at 1:05 PM, Thomas  wrote:

On 2017-04-10 20:00, Scott Robison wrote:

Let's say you have a repo named bob. You have not yet committed any
.fossil-settings files. You create the .fossil-settings files then run
addremove and commit. The addremove command will not recognize any of
the files you are ignoring at this point because you've never
committed the .fossil-settings files themselves.


Thanks for your extensive explanation. You're right, I would have never 
expected it to work like this. In fact, I believe if it really behaves 
as you described it, that's something that should be mentioned in the 
documentation.


I can't imagine I'd be the only or first one who'd stumble over this. It 
means that whatever you do or want to do the first commit automatically 
stores all files unconditionally in the repository.


I'd even go as far as to say this defeats the whole idea of having 
(only) these files in the first place. Or, in other words, what good is 
an exclusion or filter list that doesn't exclude or filter right from 
the start?




If you *are* doing this, maybe you would be satisfied with a flow like this:

1. update .fossil-settings
2. add (if necessary) and commit those changes
3. now run addremove for the entire working copy
4. now commit those changes.


I am using these files at the moment, yes.

But even before the first addremove or commit I had the .VC.db or .tlog 
files exluded with the --ignore parameter on the command line for 
addremove. So, no this behavior can't be the reason why Fossil ignores 
some files but not others.


fossil addremove
and
fossil commit
must have been run hundreds of times now, and the files are still 
updated in the repository every time addremove is performed.




___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Issue with ignore-glob

2017-04-10 Thread Scott Robison
On Mon, Apr 10, 2017 at 1:05 PM, Thomas  wrote:
> On 2017-04-10 20:00, Scott Robison wrote:
>>
>> On Apr 10, 2017 12:48 PM, "Thomas" > > wrote:
>> Example of .fossil-settings\ignore-glob:
>> *.obj
>> *.tlog
>> *.VC.db
>>
>> The real file of course contains a much bigger list. I only picked
>> these three masks as an example.
>>
>> Fossil happily ignores the .obj files (and many others), but no
>> matter how hard I try, it keeps adding all .tlog and all .VC.db
>> files (and it ignores many others too). I can't figure out a pattern
>> that would tell me why some files/filters are accepted and work as
>> advertised in the ignore-glob, others aren't.
>>
>> Is there anything I overlooked?
>>
>> Any help or idea is highly appreciated.
>>
>>
>> I think it reads those from the repo, so you won't see anything until
>> you've committed the files once or after changes are made.
>
>
> The files it ignores (.obj, .iobj, etc) are neither in the local repository
> nor in the remote one.
>
> The files it doesn't ignore (.VC.db, .log, .tlog, tec) are in both, the
> local and the remote repository.
>
> I got autosnyc on. Sorry, I probably should have mentioned this.

No problem, I was more brief that I maybe should have been because I
was just about to head into a meeting. So here is what I was trying to
say:

Let's say you have a repo named bob. You have not yet committed any
.fossil-settings files. You create the .fossil-settings files then run
addremove and commit. The addremove command will not recognize any of
the files you are ignoring at this point because you've never
committed the .fossil-settings files themselves.

Let's say you have set some glob patterns in the past, either through
the web interface, the command line, or via a .fossil-settings file.
Then you update the .fossil-settings files, run addremove and commit.
Any changes you made to the .fossil-settings files will not be honored
because you've not committed them.

It very well may be that this is not what you are doing, but I can see
how it would not be intuitive that fossil will not use the
.fossil-settings file you have updated in the opened working copy but
not yet committed.

If you *are* doing this, maybe you would be satisfied with a flow like this:

1. update .fossil-settings
2. add (if necessary) and commit those changes
3. now run addremove for the entire working copy
4. now commit those changes.

-- 
Scott Robison
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Issue with ignore-glob

2017-04-10 Thread Thomas

On 2017-04-10 20:00, Scott Robison wrote:

On Apr 10, 2017 12:48 PM, "Thomas" > wrote:
Example of .fossil-settings\ignore-glob:
*.obj
*.tlog
*.VC.db

The real file of course contains a much bigger list. I only picked
these three masks as an example.

Fossil happily ignores the .obj files (and many others), but no
matter how hard I try, it keeps adding all .tlog and all .VC.db
files (and it ignores many others too). I can't figure out a pattern
that would tell me why some files/filters are accepted and work as
advertised in the ignore-glob, others aren't.

Is there anything I overlooked?

Any help or idea is highly appreciated.


I think it reads those from the repo, so you won't see anything until
you've committed the files once or after changes are made.


The files it ignores (.obj, .iobj, etc) are neither in the local 
repository nor in the remote one.


The files it doesn't ignore (.VC.db, .log, .tlog, tec) are in both, the 
local and the remote repository.


I got autosnyc on. Sorry, I probably should have mentioned this.


___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Issue with ignore-glob

2017-04-10 Thread Scott Robison
On Apr 10, 2017 12:48 PM, "Thomas"  wrote:

Hello,

As stated in one of my earlier mails, I also got an issue with files to
ignore.

I have now created a folder .fossil-settings and placed the glob files in
it.

Actually, I got a batch file that reads the file filter settings from
another file and creates the binary-glob and the ignore-glob files on the
fly before an addremove and a commit (crlf-glob is not created and only
contains an asterisk now).

Before, the batch file read the external files with the
crlf/binary/exclusion masks and created command line arguments, separated
by commata, now it just writes its output to the mentioned files in
.fossil-settings, each file mask on a different line.

The outcome is exactly the same. Some files are added to the repository
every single time although their - in my opinion - correct name masks are
in correctly added to ignore-glob.

Example of .fossil-settings\ignore-glob:
*.obj
*.tlog
*.VC.db

The real file of course contains a much bigger list. I only picked these
three masks as an example.

Fossil happily ignores the .obj files (and many others), but no matter how
hard I try, it keeps adding all .tlog and all .VC.db files (and it ignores
many others too). I can't figure out a pattern that would tell me why some
files/filters are accepted and work as advertised in the ignore-glob,
others aren't.

Is there anything I overlooked?

Any help or idea is highly appreciated.


I think it reads those from the repo, so you won't see anything until
you've committed the files once or after changes are made.
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


[fossil-users] Issue with ignore-glob

2017-04-10 Thread Thomas

Hello,

As stated in one of my earlier mails, I also got an issue with files to 
ignore.


I have now created a folder .fossil-settings and placed the glob files 
in it.


Actually, I got a batch file that reads the file filter settings from 
another file and creates the binary-glob and the ignore-glob files on 
the fly before an addremove and a commit (crlf-glob is not created and 
only contains an asterisk now).


Before, the batch file read the external files with the 
crlf/binary/exclusion masks and created command line arguments, 
separated by commata, now it just writes its output to the mentioned 
files in .fossil-settings, each file mask on a different line.


The outcome is exactly the same. Some files are added to the repository 
every single time although their - in my opinion - correct name masks 
are in correctly added to ignore-glob.


Example of .fossil-settings\ignore-glob:
*.obj
*.tlog
*.VC.db

The real file of course contains a much bigger list. I only picked these 
three masks as an example.


Fossil happily ignores the .obj files (and many others), but no matter 
how hard I try, it keeps adding all .tlog and all .VC.db files (and it 
ignores many others too). I can't figure out a pattern that would tell 
me why some files/filters are accepted and work as advertised in the 
ignore-glob, others aren't.


Is there anything I overlooked?

Any help or idea is highly appreciated.
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users