I'm curious what's the best practice of keeping your occasional contributions to an OSS project in git (e.g., on github/bitbucket/gitlab), whilst the upstream is exclusively CVS.
My take is that it's very convenient to simply commit CVS/{Entries,Repository,Root}
directly into git
, and then at any time and from any box, you can simply checkout your git repo (w/ git
), and then update from the real upstream with cvs up
, which is exactly what I do with my OpenBSD ports-readmes fork, as well as mdocml.
However, I've noticed that most people are quite surprised and puzzled to see these CVS files within these git repositories on my GitHub, supposedly thinking that it's some sort of an oversight on my part. Additionally, reyk's httpd, for example, doesn't have such a setup, either, even though he apparently usually updates it from upstream in bulk, without preserving the log from the upstream, either.
Am I missing something here? I feel like having CVS/{Entries,Repository,Root}
within your git repository is a great idea, yet I've never seen anyone else doing it. Why?
CVS
to.gitignore
. That way I can still use both git and cvs and the rest of the world just uses git with no idea that there is a cvs repo involved. – MobcapCVS/
to.gitignore
, because then the minute you clean up your local git checkout, CVS data will be irreparably gone. How's that better for anyone? If you don't believe me, try out github.com/cnst/mdocml, it should work as is with both git and cvs (after checking out with git first) on any modern system. – Hijackextssh
method and so myRoot
files contained something likeusername@hostname:/repopath
which would not be useful to others. I also didn't delete the directory because I was always actively working on it. Just think carefully about whether these files are useful to others and whether or not their presence will cause confusion. – MobcapCVS/Root
has to contain a username, uploadingCVS/{Repository,Entries}
would still make it possible to quickly set upRoot
(either in the file, or through arguments tocvs
, or throughenv CVSROOT
), on the other hand, if theEntries
file is missing, it'll be quite non-trivial to find the exact point in upstream that your downstream is based upon. – Hijack