Hi,
 

I am new to Software Configuration Management systems, but am now interested in 
using Fossil.  I have been reviewing the documentation on-and-off for a few 
days, and have played with the program a little, but I am still unsure how to 
most appropriately use it to meet my needs, so I would appreciate any advice 
anyone would like to offer on the following use scenario.

 

I am working exclusively in Windows environments.  I am a sole developer, often 
working on a number of relatively small projects at a time.  For the time being 
at least, I do not expect to make much use of forking and branching 
capabilities - I like to think my code development generally progresses fairly 
linearly.  But I regularly need to access and update my code at a number of 
usually standalone PCs - that is, they are never networked to each other and 
often do not even have internet access.

 

I am hoping that Fossil will assist me in two ways, keeping track of milestones 
in my codebases including providing the ability to easily restore a previous 
version for testing purposes, and also making it as simple as possible for me 
to ensure I always have all versions of the code for every project accessible 
to me when I sit down to work at any particular PC.

 

To achieve the second objective, I expect to make a point of always carrying a 
USB Flash Drive with me as I move from PC to PC.  I expect this Flash Drive 
should contain a number of repository files, one for each project I am 
concerned with.  I expect when I sit down at any particular PC I should be able 
to extract from the relevant repository on this Flash Drive whichever version 
of whichever project I need to access.  Similarly, when I "finish" working at 
this PC if I wish to retain any changes I have made I expect I should "commit" 
these changes back to relevant repository on the Flash Drive in some way.  But 
the most appropriate way to do all this is unclear to me.

 

I understand Fossil is generally intended to work with a local copy of a 
project's repository on each machine's local hard disk, and with a master 
repository accessed remotely when required via a network or internet 
connection.  In my case, it seems to me the master repository would be the 
relevant repository file on my Flash Drive, but when my Flash Drive is plugged 
into the machine I am working on, the files on it are effectively local, not 
remote.  So, when I sit down to work at a PC, should I copy the repository file 
for the project I need to work on onto the PC's local hard drive, then open the 
version of the code I need to access from this copy of the repository, or 
should I just open the project repository directly from my Flash Drive ?  
Additionally, if I should copy the repository onto the local hard disk, should 
I simply copy the repository file using the operating system, or should I use 
Fossil to clone it to the local hard disk (I do not really understand the 
difference here) ?  Then, when I finish working at the PC, if I wish to 
incorporate any changes I have made back into the repository on my Flash Drive, 
should I update this directly into the repository on my Flash Drive, or into a 
copy of the repository on the PC's local hard disk ?  If the later, should I 
then simply copy the updated repository file onto my Flash Drive (overwriting 
the previous repository file), or should I "pull" or "push" the changes into 
the repository file on the Flash Drive - can I even do this, when the hard disk 
based repository and the Flash Drive based repository files are effectively 
both local files on the same PC ?  I guess I'm getting a bit confused here.

 

A possible additional complicating factor in the "right" way to do all this is 
that typically, when I finish working at a PC I often will not want to leave a 
copy of the source code or the repository on the PC (i.e., on a customer's 
hardware).  I understand deleting the local copies of the repositories 
undermines the redundancy and backup benefits of using a Distributed SCM 
system, but I guess I will address this by leaving copies of the repositories 
on my own PCs and also ensuring I regularly make backup copies of the 
repository files on the Flash Drive.

 

So any thoughts, experience or advice on the most appropriate way to use Fossil 
in the above scenario would be most welcome, thank you.




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

Reply via email to