No subject
Thu May 28 17:10:26 EDT 2009
/svn.open-ils.org/trac/ILS/browser/trunk/docs</a></div><div><br></div></blo=
ckquote></div><div><div>There are a few problems with that, mainly that we =
no longer have a SVN committer in the group and that we would want to circu=
late, share and collaborate on the docs before pushing them into the one tr=
ue repo anyway. =C2=A0This is a pretty common problem in open source softwa=
re development, and it is the basic problem that distributed version contro=
l systems (DVCS) are designed to solve. =C2=A0I'll describe how we migh=
t use a DVCS in our case, which happens to be how I do my development every=
day anyway.</div>
<div><br></div><div>So here is a git repository of Evergreen that I use, ho=
sted at github:</div><div><br></div></div><blockquote class=3D"webkit-inden=
t-blockquote" style=3D"margin: 0 0 0 40px; border: none; padding: 0px;"><di=
v>
<div><a href=3D"http://github.com/senator/OpenILS-Evergreen">http://github.=
com/senator/OpenILS-Evergreen</a></div><div><br></div></div></blockquote>It=
looks similar to the trac/SVN view of the EG repo. =C2=A0You can switch to=
the branch I do doc work in called "docs_rock", at:<div>
<br></div><blockquote class=3D"webkit-indent-blockquote" style=3D"margin: 0=
0 0 40px; border: none; padding: 0px;"><div><a href=3D"http://github.com/s=
enator/OpenILS-Evergreen/tree/docs_rock">http://github.com/senator/OpenILS-=
Evergreen/tree/docs_rock</a></div>
</blockquote><div><br></div><div>With a (free) account, you can create your=
own "fork" of the project directly via the web interface. =C2=A0=
Having installed/configured git on your local system, and with your github =
account (say, named "foobar"), the basic workflow might look like=
:</div>
<div><br></div><blockquote class=3D"webkit-indent-blockquote" style=3D"marg=
in: 0 0 0 40px; border: none; padding: 0px;"><div><font class=3D"Apple-styl=
e-span" face=3D"'courier new', monospace"><font class=3D"Apple-styl=
e-span" color=3D"#3333FF"># on github, click to fork a EG repo, then clone =
your fork for revision</font></font></div>
<div><font class=3D"Apple-style-span" face=3D"'courier new', monosp=
ace">git clone=C2=A0git at github.com:foobar/OpenILS-Evergreen.git evergreen</=
font></div><div><font class=3D"Apple-style-span" face=3D"'courier new&#=
39;, monospace">cd evergreen</font></div>
<div><font class=3D"Apple-style-span" face=3D"'courier new', monosp=
ace">git checkout docs_rock =C2=A0<font class=3D"Apple-style-span" color=3D=
"#3333FF"># "set" a branch as active</font></font></div><div><fon=
t class=3D"Apple-style-span" face=3D"'courier new', monospace"><fon=
t class=3D"Apple-style-span" color=3D"#3333FF"><br>
</font></font></div><div><font class=3D"Apple-style-span" face=3D"'cour=
ier new', monospace"><font class=3D"Apple-style-span" color=3D"#3333FF"=
># add new files to ./docs, then</font></font></div><div><font class=3D"App=
le-style-span" face=3D"'courier new', monospace">git add <new_fi=
le_path>=C2=A0</font></div>
<div><font class=3D"Apple-style-span" face=3D"'courier new', monosp=
ace"><font class=3D"Apple-style-span" color=3D"#3333FF"><br></font></font><=
/div><div><font class=3D"Apple-style-span" face=3D"'courier new', m=
onospace"><font class=3D"Apple-style-span" color=3D"#3333FF"># and/or edit =
docs/1.6/...*.xml with whatever tools you want, then</font></font></div>
<div><font class=3D"Apple-style-span" face=3D"'courier new', monosp=
ace">git commit -a =C2=A0 <font class=3D"Apple-style-span" color=3D"#3333FF=
"># save all your changes in git</font></font></div><div><font class=3D"App=
le-style-span" face=3D"'courier new', monospace"><font class=3D"App=
le-style-span" color=3D"#3333FF"><br>
</font></font></div><div><font class=3D"Apple-style-span" face=3D"'cour=
ier new', monospace"><font class=3D"Apple-style-span" color=3D"#3333FF"=
># Done with some chunk of work (1 or more commits)</font></font></div><div=
><font class=3D"Apple-style-span" face=3D"'courier new', monospace"=
>git push origin docs_rock =C2=A0</font></div>
<div><font class=3D"Apple-style-span" face=3D"'courier new', monosp=
ace"><br></font></div><div><font class=3D"Apple-style-span" face=3D"'co=
urier new', monospace"><font class=3D"Apple-style-span" color=3D"#3333F=
F"># Now everybody can see the changes on the website in your fork.</font><=
/font></div>
<div><font class=3D"Apple-style-span" face=3D"'courier new', monosp=
ace"><font class=3D"Apple-style-span" color=3D"#3333FF"># When ready, click=
"pull request" and the person you forked from=C2=A0</font></font=
></div><div>
<font class=3D"Apple-style-span" face=3D"'courier new', monospace">=
<font class=3D"Apple-style-span" color=3D"#3333FF"># will be asked to propa=
gate your changes upstream.</font></font></div><div><font class=3D"Apple-st=
yle-span" face=3D"'courier new', monospace"><br>
</font></div></blockquote><div><div><br></div><div>There are many possible =
variations, but I think this would work. =C2=A0It's not magic, and I om=
itted installation and configuration. =C2=A0But notably, this process can b=
e expanded an arbitrary number of times. =C2=A0That is, you needn't for=
k from the repository I'm working from, you might fork from the repo of=
the lead member for the chapter you are working on. =C2=A0And somebody els=
e from you, etc.</div>
<div><br></div><div>The great advantage is that instead of circulating emai=
l attachments, the editor(s) can get changes in the form of commit diffs di=
rectly from a version control system. =C2=A0This is just one approach. =C2=
=A0Really, any system that can get us out from separate firewalled institut=
ional repos and into public space would be worth considering. =C2=A0</div>
<div><br></div><div>--Joe</div></div>
--00163630ff2121b04d0482fbbaad--
More information about the OPEN-ILS-DOCUMENTATION
mailing list