mahsoud / boar

Automatically exported from code.google.com/p/boar
0 stars 0 forks source link

Enhancement: Meta-Sessions (ie. supersets of existing sessions) should leverage existing .boar folders #46

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
When checking in a directory if boar finds .boar "working directory" metadata 
folders it should intelligently leverage these to greatly increase the 
efficiency of check ins of a parent directory that includes directories already 
under version control within it.

== Reasoning ==

Given the way the logging/reporting features currently work (revision count, 
etc) it seems to make the most sense to set up sessions on a "per project" 
basis. Since file changes are usually localized on a per project basis it makes 
sense to be able to "check in" changes to a project (ie work_john.doe_website, 
rev 3) rather than checking in a giant global folder every time (ie websites, 
rev 2042). When using a global session/folder that includes many subprojects 
(like a folder called pictures, or websites, etc) it quickly becomes unwieldy 
to try to track down revisions for a specific project since there is a lot of 
background noise for other projects. That being said, it *is* nice to be able 
to have a "global" view of such folders sometimes. Even if you have subfolders 
in your pics folder or your website folder, etc to correspond to specific 
subprojects, sometimes there are files that are *only* in the root of the pics 
folder or are not specific to any particular project, or furthermore, if you 
ever reorganize the structure of the pics/websites/etc folder it's nice to be 
able to have it under version control so you can return to the old layout if 
you decide you don't like the new one.

With all of this in mind, I realize that the "offset" function is designed to 
allow  the check-in of subfolders, but commits/etc are all still mashed 
together under a single session, there is no way to filter on a "per 
project/subfolder" basis atm. Also, it's nice to have a project exist as an 
atomic work dir that you can freely move and plop down wherever you want on 
your filesystem and be able to continue making check-ins (since paths are based 
at the work dir level) without worrying that it is no longer an "offset" from 
the master pics/websites/etc folder if you decide you want move it to some new 
parent directory.

So, ultimately, per project sessions are just fine, but they don't obviate the 
usefulness of sessions to track much larger folders that are a superset of many 
smaller sessions (and which also include files that *don't* exist in any other 
session).

This bring me back around to the original feature request. If you just spent 
several days checking in a bunch of sessions/directories to correspond with all 
your photoshoots, or video projects, or whatever project category you happened 
to use to draw session boundaries with, and at the end of it all you want to 
create a "master" snapshot of the entire "photos" folder to catch/track any 
stray files that aren't included in existing sessions (and to track the global 
layout of your files within that folder), then it should *not* take another 
several days to import directories for which there are already bloblist/cache 
files (defeats the point of precomputing such things if they aren't used later).

Original issue reported on code.google.com by cryptob...@gmail.com on 20 Jan 2012 at 2:11

GoogleCodeExporter commented 9 years ago
Issue 59 has been merged into this issue.

Original comment by ekb...@gmail.com on 29 Feb 2012 at 12:44

GoogleCodeExporter commented 9 years ago
Yep, sounds like a good idea (similar to svn:external, and git-submodule).

Original comment by ekb...@gmail.com on 29 Feb 2012 at 12:45

GoogleCodeExporter commented 9 years ago

Original comment by ekb...@gmail.com on 29 Feb 2012 at 12:45

GoogleCodeExporter commented 9 years ago
I saw you merged issue 59 into this issue. Just to be clear about what I was 
talking about in issue 59 vs this issue. Here I am talking about doing an 
initial import of a directory that is *not* already a working directory, but 
contains subdirectories which *are* working directories.

In issue 59 I was talking about applying multiple sessions to an *existing* 
(single) workdir.

If you merged it just to track it under a single issue that's fine, but I just 
wanted to rearticulate that I was in fact talking about two different things.

Original comment by cryptob...@gmail.com on 29 Feb 2012 at 4:46