Re: [fossil-users] Thanks and some questions

2012-03-20 Thread mailing
> Depending on if your files fit a nice set of patterns you may want to
> consider using ignore-glob to keep from seeing your irrelevant files. The
> methodology I encourage on our team is that a "fossil extras" should
> always be clean, i.e. there should be no extras.

That sounds like a good idea.

> Any extras should be either added to fossil with "fossil add" or added to
> the glob list.

Good point.

> To make that a bit easier we use the .fossil-settings/ignore-glob file
> instead of the setting via the ui. Don't forget to "fossil add" the
> .fossil-settings/ignore-glob file.

Thanks, I'll have a look at this.

> We commonly have one or more "build" directories where various processes
> are run and ignore them all with a */build/* pattern or similar. However
> do be careful with blanket ignores. If I recall correctly fossil behavior
> is a little odd when it comes to controlled files that match an ignore
> pattern. I seem to remember that a modified controlled file masked by a
> ignore does not show up in "fossil status"

Thanks for the tips, this is the kind of advice I was hoping for :)



___
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] Thanks and some questions

2012-03-20 Thread mailing
> > To see the list of "unmanaged" files:
> Thank you. It is more "manual" than I was looking for but if that's the way
> it works that's the way it works.
>

> Beware of any program that thinks it knows more than you do.
>
>-- 
>D. Richard Hipp

Point taken, but that isn't what I've been wondering about and anyway isn't
doing clerical tasks better than humans exactly the sort of thing software
should do? In other words we're forgetful and make mistakes. I don't suggest
automagically adding everything and anything but flagging them does seem
prudent and helpful without going over the line and actually making a
decision for us. Especially if the globbing exclude (perhaps you can do
globbing includes as well) is set it seems safe to at least put out a prompt
and we can answer all, none, yes or no to each in the list. Something like
that *might* be good.

fossil already alerts us when a file you said to manage isn't in the
directory for change, stat, commit (maybe others, haven't come across it
yet). Why isn't the converse done automagically? It's not symmetric right
now. It seems reasonable change, stat, and commit would flag files in the
managed directory tree that aren't managed. Is that helpful or does it
become like the endless Windows OK prompts?

___
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] Thanks and some questions

2012-03-19 Thread Richard Hipp
On Mon, Mar 19, 2012 at 4:00 PM,  wrote:

>  >
> > fossil extra
>
> > To see the list of "unmanaged" files:
> Thank you. It is more "manual" than I was looking for but if that's the way
> it works that's the way it works.
>

Beware of any program that thinks it knows more than you do.

-- 
D. Richard Hipp
d...@sqlite.org
___
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] Thanks and some questions

2012-03-19 Thread mailing
I wrote about some of the other issues you addressed in another post.

>> What should I be doing to make sure fossil knows about all the new code?
>> add doesn't seem to work, and stat or chan doesn't flag newly created
>> files that I haven't already added.


> fossil add file
> fossil commit -m 'foo' file
>
> :-?

I realize that but I was hoping for some help from fossil. For example when
you delete a file fossil was managing and you do a changes, stat or commit
fossil tells you the file is gone. I was looking for that same function to
also provide the oppposite info, letting you know there are new files that
haven't been added.

> To see the list of "unmanaged" files:
>
> fossil extra

Thank you. It is more "manual" than I was looking for but if that's the way
it works that's the way it works.
___
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] Thanks and some questions

2012-03-19 Thread Matt Welland
On Mon, Mar 19, 2012 at 4:12 AM,  wrote:

[snip]


> >> I often add programs to the project and I don't always remember to tell
> >> fossil about them. What is the correct way to use fossil so when you
> work
> >> on new projects where you don't have everything that will ultimately be
> part
> >> of the project in your directory from the beginning? What should I be
> doing to
> >> make sure fossil knows about all the new code? add doesn't seem to work,
> >> and stat or chan doesn't flag newly created files that I haven't already
> >> added. This is a bit disturbing and I'm afraid new modules will go
> >> untracked. I find myself using add * or addr. addr should usually be ok
> but
> >> I don't like taking the chance to delete something. I realize unless you
> >> shun nothing is actually lost but I don't know how it works and what
> >> problems I could cause by addr. My question is really how should I be
> doing
> >> this workflow.
> >>
>
> > I think you want the "fossil extra" command to tell you what files are in
> > your working folder that are not under management.  And the "fossil
> > addremove" command which will recursively descend through your working
> > folder adding and removing files as necessary so that everything is under
> > management again.
>
> Thanks, I missed the "extra" command, that sounds helpful but I guess what
> I
> would have preferred, since it doesn't take any extra action on the users's
> part, might be to see all the files that exist that aren't managed, when I
> do fossil stat or fossil change. In other words I'm looking for something
> that goes out of its way to tell me "hey, do you realize you have new files
> here that fossil isn't managing?" Specifically this happens to me a lot
> because I'm doing some work right now on text processing and I have a lot
> of
> junk files in my working directories I use as input for my tests. I don't
> tend to want to manage this stuff because I can grab more text and create
> new test cases easily. If I do fossil addr all the time I find tons of crap
> gets added and deleted from the repo and that bothers me since it shouldn't
> have been there at all and it just gets dragged along because I don't have
> a
> way to be notified when I add source code that I *do* want managed. Either
> I
> keep doing addr (or now "extra" and figure it out manually) and get my
> source and junk files added, or I lose the junk and the new source code
> because I don't always remember what's been added and what hasn't. I guess
> I
> need to get used to managing the tools more than I have been. In the past I
> worked on established products and we almost never added new source
> files. Now I am writing a lot more code and need to rethink how I am
> managing that process.
>

Depending on if your files fit a nice set of patterns you may want to
consider using ignore-glob to keep from seeing your irrelevant files. The
methodology I encourage on our team is that a "fossil extras" should always
be clean, i.e. there should be no extras. Any extras should be either added
to fossil with "fossil add" or added to the glob list. To make that a bit
easier we use the .fossil-settings/ignore-glob file instead of the setting
via the ui. Don't forget to "fossil add" the .fossil-settings/ignore-glob
file.

We commonly have one or more "build" directories where various processes
are run and ignore them all with a */build/* pattern or similar. However do
be careful with blanket ignores. If I recall correctly fossil behavior is a
little odd when it comes to controlled files that match an ignore pattern.
I seem to remember that a modified controlled file masked by a ignore does
not show up in "fossil status"


> I am not criticizing fossil (it's great!), I am just trying to understand
> how to use it efficiently for the way I work, rather than trying to adjust
> the way I work for the benefit of the scm I'm using. In the end I will
> probably have to do a little of both.
>
> For me this is the flip side of fossil telling you if you had a file under
> management and you deleted it, when you do a stat, changes, or commit. That
> works great and gives a red flad- "hey, I can't find file a and file b".
> Then
> again, I admit what I was thinking of may bring problems with it because if
> you have ignored dozens or hundreds of files when you do a stat or changes
> or commit you don't want to see those. Maybe that logic already exists.
> After I hear your comments I'll try to work with this more and get a better
> understanding. But I am also interested in hearing how people who are
> writing a lot of new code and also keep test and other junk in the project
> directory tree are using fossil.
>

[snip]


> ___
> 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

Re: [fossil-users] Thanks and some questions

2012-03-19 Thread mailing
>> I notice the .fossil file is created in my home directory when using
>> fossil. Because I am testing how fossil works to learn how to use it for my
>> workflows, I have created several fossil repos for different test projects
>> and then sometimes delete the whole subdirectory containing the repo when I
>> am done testing. Does this cause anything to be orphaned inside the .fossil
>> file in home directory? How do I to tell fossil to clean up this file and
>> let fossil know the repo(s) I was testing with have been deleted?
>>

> Orphan entries are created in the .fossil database.  But they are small.
> And they are automatically cleaned up the next time you run the "fossil
> all" command.

Thanks, good to know!


>> I often add programs to the project and I don't always remember to tell
>> fossil about them. What is the correct way to use fossil so when you work
>> on new projects where you don't have everything that will ultimately be part
>> of the project in your directory from the beginning? What should I be doing 
>> to
>> make sure fossil knows about all the new code? add doesn't seem to work,
>> and stat or chan doesn't flag newly created files that I haven't already
>> added. This is a bit disturbing and I'm afraid new modules will go
>> untracked. I find myself using add * or addr. addr should usually be ok but
>> I don't like taking the chance to delete something. I realize unless you
>> shun nothing is actually lost but I don't know how it works and what
>> problems I could cause by addr. My question is really how should I be doing
>> this workflow.
>>

> I think you want the "fossil extra" command to tell you what files are in
> your working folder that are not under management.  And the "fossil
> addremove" command which will recursively descend through your working
> folder adding and removing files as necessary so that everything is under
> management again.

Thanks, I missed the "extra" command, that sounds helpful but I guess what I
would have preferred, since it doesn't take any extra action on the users's
part, might be to see all the files that exist that aren't managed, when I
do fossil stat or fossil change. In other words I'm looking for something
that goes out of its way to tell me "hey, do you realize you have new files
here that fossil isn't managing?" Specifically this happens to me a lot
because I'm doing some work right now on text processing and I have a lot of
junk files in my working directories I use as input for my tests. I don't
tend to want to manage this stuff because I can grab more text and create
new test cases easily. If I do fossil addr all the time I find tons of crap
gets added and deleted from the repo and that bothers me since it shouldn't
have been there at all and it just gets dragged along because I don't have a
way to be notified when I add source code that I *do* want managed. Either I
keep doing addr (or now "extra" and figure it out manually) and get my
source and junk files added, or I lose the junk and the new source code
because I don't always remember what's been added and what hasn't. I guess I
need to get used to managing the tools more than I have been. In the past I
worked on established products and we almost never added new source
files. Now I am writing a lot more code and need to rethink how I am
managing that process.

I am not criticizing fossil (it's great!), I am just trying to understand
how to use it efficiently for the way I work, rather than trying to adjust
the way I work for the benefit of the scm I'm using. In the end I will
probably have to do a little of both.

For me this is the flip side of fossil telling you if you had a file under
management and you deleted it, when you do a stat, changes, or commit. That
works great and gives a red flad- "hey, I can't find file a and file b". Then
again, I admit what I was thinking of may bring problems with it because if
you have ignored dozens or hundreds of files when you do a stat or changes
or commit you don't want to see those. Maybe that logic already exists.
After I hear your comments I'll try to work with this more and get a better
understanding. But I am also interested in hearing how people who are
writing a lot of new code and also keep test and other junk in the project
directory tree are using fossil.

>> Another question is on annotate. When I use annotate I see the change
>> history for a file. But if only one line of the file was changed repeatedly
>> it seems I don't see the change for each commit, only the last value. Is
>> this right and is there a way to show all the changes done to one file even
>> if it's all the same line, maybe with diffs from one commit to the next?
>>

> The "fossil annotate" command is modeled after "cvs annotate", which only
> shows the most recent change for all current lines in the file.  Can you
> show us an alternative display format that shows all historical changes to
> a file?  What does hg do? 

What I was thinking of may not be that 

Re: [fossil-users] Thanks and some questions

2012-03-18 Thread Richard Hipp
On Sun, Mar 18, 2012 at 12:10 PM,  wrote:

>
> I notice the .fossil file is created in my home directory when using
> fossil. Because I am testing how fossil works to learn how to use it for my
> workflows, I have created several fossil repos for different test projects
> and then sometimes delete the whole subdirectory containing the repo when I
> am done testing. Does this cause anything to be orphaned inside the .fossil
> file in home directory? How do I to tell fossil to clean up this file and
> let fossil know the repo(s) I was testing with have been deleted?
>

Orphan entries are created in the .fossil database.  But they are small.
And they are automatically cleaned up the next time you run the "fossil
all" command.



>
> I often add programs to the project and I don't always remember to tell
> fossil about them. What is the correct way to use fossil so when you work
> on
> new projects where you don't have everything that will ultimately be part
> of
> the project in your directory from the beginning? What should I be doing to
> make sure fossil knows about all the new code? add doesn't seem to work,
> and
> stat or chan doesn't flag newly created files that I haven't already
> added. This is a bit disturbing and I'm afraid new modules will go
> untracked. I find myself using add * or addr. addr should usually be ok but
> I don't like taking the chance to delete something. I realize unless you
> shun nothing is actually lost but I don't know how it works and what
> problems I could cause by addr. My question is really how should I be doing
> this workflow.
>

I think you want the "fossil extra" command to tell you what files are in
your working folder that are not under management.  And the "fossil
addremove" command which will recursively descend through your working
folder adding and removing files as necessary so that everything is under
management again.



>
> Another question is on annotate. When I use annotate I see the change
> history for a file. But if only one line of the file was changed repeatedly
> it seems I don't see the change for each commit, only the last value. Is
> this right and is there a way to show all the changes done to one file even
> if it's all the same line, maybe with diffs from one commit to the next?
>

The "fossil annotate" command is modeled after "cvs annotate", which only
shows the most recent change for all current lines in the file.  Can you
show us an alternative display format that shows all historical changes to
a file?  What does hg do?



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



-- 
D. Richard Hipp
d...@sqlite.org
___
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] Thanks and some questions

2012-03-18 Thread Stephan Beal
On Sun, Mar 18, 2012 at 5:10 PM,  wrote:

> I notice the .fossil file is created in my home directory when using
> fossil.


It will create it wherever you tell it to. e.g.:

fossil new /tmp/foo.fossil
mkdir ~/foo
cd ~/foo
f open /tmp/foo.fossil

Then ~/foo is your checkout and the repo is /tmp/foo.fossil. The
relationship is one-way: the checkout knows about the repo but not the
other way around.



> Because I am testing how fossil works to learn how to use it for my
> workflows, I have created several fossil repos for different test projects
> and then sometimes delete the whole subdirectory containing the repo when I
> am done testing. Does this cause anything to be orphaned inside the .fossil
> file in home directory? How do I to tell fossil to clean up this file and
> let fossil know the repo(s) I was testing with have been deleted?
>

You don't need to do anything - the main fossil file doesn't know about the
checkouts. Each checkout maintains a local _FOSSIL_ file which is another
sqlite3 which holds metadata which is automatically generated from the main
repo. It also holds your local stash, update undo, and such.


> I often add programs to the project and I don't always remember to tell
> fossil about them.


Don't worry - fossil never knew about them :).



> What is the correct way to use fossil so when you work on
> new projects where you don't have everything that will ultimately be part
> of
> the project in your directory from the beginning? What should I be doing to
> make sure fossil knows about all the new code? add doesn't seem to work,
> and
> stat or chan doesn't flag newly created files that I haven't already
> added.


fossil add file
fossil commit -m 'foo' file

:-?

To see the list of "unmanaged" files:

fossil extra

Another question is on annotate. When I use annotate I see the change
> history for a file. But if only one line of the file was changed repeatedly
> it seems I don't see the change for each commit, only the last value. Is
> this right and is there a way to show all the changes done to one file even
> if it's all the same line, maybe with diffs from one commit to the next? I
> would like to be able to quickly identify what I have done to a file all
> throughout its history. Thanks to everyone!
>

This is how annotate works (it's not a bug). There currently is no feature
to display ALL changes from ALL versions at one time (and i can't imagine
how that would be readable).


-- 
- stephan beal
http://wanderinghorse.net/home/stephan/
http://gplus.to/sgbeal
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


[fossil-users] Thanks and some questions

2012-03-18 Thread mailing
Hi I have been using Mercurial for my own small projects and am mostly
satisfied with it from a perspective of using it. I don't like that it uses
Perl scripts and other pieces to do what it does. I really like the fossil
and sqlite design having one standalone executable and no dependencies.
Outstanding! Big thanks to Dr. Richard and the devs for both sqlite and
fossil. I am moving towards using fossil for all my version control. All of
my development is either single developer or very small team.

I notice the .fossil file is created in my home directory when using
fossil. Because I am testing how fossil works to learn how to use it for my
workflows, I have created several fossil repos for different test projects
and then sometimes delete the whole subdirectory containing the repo when I
am done testing. Does this cause anything to be orphaned inside the .fossil
file in home directory? How do I to tell fossil to clean up this file and
let fossil know the repo(s) I was testing with have been deleted?

I often add programs to the project and I don't always remember to tell
fossil about them. What is the correct way to use fossil so when you work on
new projects where you don't have everything that will ultimately be part of
the project in your directory from the beginning? What should I be doing to
make sure fossil knows about all the new code? add doesn't seem to work, and
stat or chan doesn't flag newly created files that I haven't already
added. This is a bit disturbing and I'm afraid new modules will go
untracked. I find myself using add * or addr. addr should usually be ok but
I don't like taking the chance to delete something. I realize unless you
shun nothing is actually lost but I don't know how it works and what
problems I could cause by addr. My question is really how should I be doing
this workflow.

Another question is on annotate. When I use annotate I see the change
history for a file. But if only one line of the file was changed repeatedly
it seems I don't see the change for each commit, only the last value. Is
this right and is there a way to show all the changes done to one file even
if it's all the same line, maybe with diffs from one commit to the next? I
would like to be able to quickly identify what I have done to a file all
throughout its history. Thanks to everyone!

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