Hi Martin,


One disadvantage of copying  repositories between the thumb drive and
your client's PC is that there's a risk of accidentally overwriting a
newer repository with an older one. Unlikely, of course, but if it did
happen, you'd permanently lose data.


Another drawback is that if you have many repositories, you might lose
track of which ones have changed and  need to be copied back to the
thumb drive when you've finished your work. (Or maybe you'd just copy
them all).


If, as suggested,  you have the Master Repositories on the thumb drive,
clone them to the client's PC, and check out working copies from the
clones, both these problems are solved. "fossil all sync" takes care of
everything!


I use this model (with a Sync folder instead of a thumb drive), and it
works nicely. (Sync is a Dropbox-like service).


Ross









On Tue, Jan 31, 2017, at 10:25 AM, Martin Irvine wrote:

> Hi again,



>  



> A number of people have replied to my questions about using Fossil SCM
> with Master Repositories held on a Flash Drive.  Thank you all for
> your input.  I have been experimenting further with Fossil, and have
> decided on a plan that I think should work, but I am still am bit
> confused about whether or not I should use any Master Repositories, so
> I would appreciate any further advice anyone might like to offer on
> the following plan.
>  



> But before describing my plan, I would like to clarify a few points to
> hopefully avoid any unnecessary discussion about these details:  I
> understand the long term reliability of Flash Drives is suspect, and
> thus it will be important to back-up the files on the Flash Drive
> regularly and probably to replace it from time to time.  I also
> understand moving a Flash Drive from PC to PC raises various virus
> related concerns, but I believe I am experienced in managing this.  To
> implement my plan below, I will of-course keep a copy of Fossil.exe on
> the flash drive so it is available at any PC.  For the purposes of
> this discussion I am a sole developer working only with Windows 7 or
> later based PCs.
>  



> My Requirement



> I wish to “carry a number of projects around with me” and be able to
> temporarily access one or more of these projects at a time on
> standalone client-owned PCs.  “Temporarily” means I will usually not
> want to leave a copy of the source code or the repository on the PC
> when I am finished though I may want to take a copy of any changes I
> have made to the project with me.  “Standalone” means these PCs
> usually are not networked to any other PCs and usually do not have any
> internet access.
>  



> My Plan



> So, my plan is to keep a number of Fossil repository files on a USB
> Flash Drive, plug this into the client’s PC and “open” the required
> project(s) as needed while I am working at the PC, then optionally
> commit any changes back to the repository(s) on the Flash Drive if I
> wish to keep them, with appropriate version tracking and comment
> recording.
>  



> I am now pretty sure this is all readily do-able using Fossil.  But
> for my requirements, I am still a bit confused about the pros and cons
> of cloning and syncing Fossil repositories vs simply copying the
> repository files on and off of the Flash Drive.  Given that I am a
> single developer and assuming that any work on any project that is to
> be retained will only be undertaken by me on one PC at a time, it
> seems to me I do not need any Master Repositories (in the sense that
> Master Repositories are used to pull, push or sync changes between
> independent sources ?) and that I will not need to push, pull or sync
> changes anywhere ?  Because of this, it seems to me I need only
> “ordinary” repositories on the flash drive, which I can open and
> commit to “directly”.
>  



> However, as much as possible, I believe in only copying files on-to
> and off-of Flash Drives and not using them as “live” media with random
> reads, writes and appends occurring to the files they hold.  So, in my
> intended use of Fossil, when I need to access a project at a client’s
> PC I would expect to copy the relevant repository file from my Flash
> Drive to the PC’s local hard disk, then open that copy of the
> repository onto the local hard disk and work with the source files.
> When finished, if I wish to retain any changes I would expect to
> commit the changes to the copy of the repository file on the local
> hard disk, then copy this updated repository file back onto my Flash
> Drive (overwriting the previous version of the repository file) before
> deleting the repository and the working files on the local hard disk.
> For backup purposes, I would copy the repositories from the Flash
> Drive onto my “at home PC” frequently, and from here these copies
> would then get included in my home PC backup procedure.  When I work
> on a project at home I would treat my home PC similarly to a client’s
> PC, in that I would open a copy of the project’s repository on my
> local hard disk, commit changes into this, then copy that repository
> file onto the Flash Drive.
>  



> So, if everything goes according to plan, I think I could do this
> indefinitely without ever needing to push, pull or sync to a Master
> Repository ?  Is this valid and reasonable, or am I missing something
> important here ?  Artur Shepilko suggested having Master Repositories
> on my Home PC and syncing the repositories on the Flash Drive into
> these, but (in a single developer non-networked environment) I do not
> understand if this offers any benefit over simply copying the
> repository files from the Flash Drive to my Home PC, and knowing that
> the “backup copies” of my repository files at home should always be
> “byte-for-byte identical” to the “live” versions on my Flash Drive ?
>  



> I would appreciate any thoughts, clarification or guidance on this.
>  



> Thanking you for your assistance,



>  



>  



> Martin Irvine.



>  



>> ----- Original Message -----

>> *From:* Martin Irvine[1]

>> *To:* fossil-users@lists.fossil-scm.org

>> *Sent:* Friday, January 20, 2017 7:32 PM

>> *Subject:* [fossil-users] Using Fossil SCM with Master Repositories
>> held on aFlash Drive ?
>> 

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



> _________________________________________________

> fossil-users mailing list

> fossil-users@lists.fossil-scm.org

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



Links:

  1. mailto:martin_irv...@bigpond.com.au
_______________________________________________
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