Is this individual workflow viable? Can I bring it to Launchpad?
Matt Nordhoff
mnordhoff at mattnordhoff.com
Thu Apr 9 18:56:20 BST 2009
Philippe Lhoste wrote:
> I collaborate on some open source projects (mostly for the
> Scintilla/SciTE project) and found the
> http://bazaar-vcs.org/Scenarios/VendorBranchForeign scenario interesting
> for this case.
>
> However, my own personal developments are in the micro to nano scale:
> small Greasemonkey scripts, some tools in Lua or AutoHotkey, playing or
> helping people with Processing.org, exploring JavaFX, writing some Java
> classes or hacking some PHP/JS/CSS/HTML code, in most cases I have only
> one source file, rarely more.
>
> Until recently, my way of keeping previous versions was crude to
> inexistent... After trying SVN, then Hg, I think I have found in Bzr the
> tool I needed.
>
> I tend to group my micro-projects in one folder per language: Java,
> JavaFX, Lua, Processing, AutoHotkey, www, etc. So naturally I made a
> Bazaar repository in each of these folders: I have, for example, some 50
> micro-projects (sketches) for Processing, most of them quickly hacked,
> rarely updated, it would be probably stupid to have a repository per
> sketch.
> When testing Mercurial, I started by making a global repository in the
> umbrella folder holding all the sub-folders (per language), but it
> wasn't such a good idea either.
>
> For these small projects, I don't feel the need to make branches for
> bugfixes or improvements, so I just hack and commit.
> Then I push to a default repository (on an USB key), which allows to
> keep in synch two computers (pushing on one side, pulling on the other).
>
> Sorry to bore you to death, but I think such solo scenario could be
> interesting to describe (most scenarios as above have "collaborative" or
> "team" in their descriptions... :-)), as it might be not so uncommon
> (closed source projects, open sources with only one person working on
> them...).
>
> I have several questions (at least!):
>
> - Is this way of working (hack, commit, push, transport, pull, merge if
> I have hacked, forgetting to pull before...) a viable one?
> It seems satisfying for me (simple, effective) but there might be
> culprits I just don't see, that might bite me later (I haven't used much
> previous revisions yet).
Sure, it sounds great to me. That's one of the nice things about DVCSes:
since there's no central server, you don't need to bother setting one up
if you don't want to. Just "bzr init" and go.
> - A better alternative to the USB key would be to use Launchpad. I don't
> want to pay, and currently all my code is under the zlib/libpng license
> (simplified BSD, more or less) explicitly or implicitly, so I don't mind
> the public exposure. But these projects are probably of little interest
> for other people (except perhaps as learning material), although it can
> be a good alternative to Pastebin and friends (when I show some code).
> But I don't have a real cohesive project. Is it OK for Launchpad?
> Should/must I create a project per repository (ie. one for Java stuff,
> one for Lua, etc.)? Is it allowed? Is there a limit on the number of
> projects one can create?
Launchpad is run by nice folks, so I wouldn't worry about it. And
anyway, it's not like they'll ever notice. ;-)
You don't need to create a project. Every user has a "+junk" namespace
where they can push random branches. E.g.:
bzr push lp:~philho/+junk/my-branch
> An alternative could be to use FTP transport on some private sites I
> have access to. But I haven't seen much information on this. Does it
> work well? (I know, I should just try...) How does it work?
I hope you mean SFTP, not FTP. Aside from the lack of encryption, weird
bugs in your FTP server might cause problems for Bazaar.
But sure, you can use FTP. I'm just being paranoid. :-)
> (Transporting one big file? Lot of small files?) Speed isn't a major
> issue here, as volume is small.
Bazaar isn't stupid. Using the smart server (bzr, bzr+ssh, bzr+http) is
faster than a dumb server (http, sftp, ftp), but the latter will still
be reasonably efficient. And like you said, you don't have large
branches anyway.
When you push to a remote location, Bazaar uses the exact same disk
formats it uses locally. There's nothing special going on. Nonetheless,
if you're using a really old disk format (e.g. dirstate-tags), there
will be two files for every file in your branch, plus a few other files.
pack-0.92 and newer will just use one big file (well, five files of
varying size), more or less.
> I can't use Python on these sites, alas, so I can't set up a Bzr server
> there.
Too bad!
> BTW, Mercurial has a list of free hosting sites
> <http://www.selenic.com/mercurial/wiki/index.cgi/MercurialHosting>, is
> there something like that for Bazaar? If not, it might be interesting to
> do it (I think SourceForge supports it now, no?). Is there any
> individual providing such hosting (like freeHg or Intuxication for Hg)?
I don't know of any free hosting sites other than Launchpad and
SourceForge. :-P
> Thanks for reading up to here! ;-)
Hope this helps!
--
More information about the bazaar
mailing list