From: Petr Baudis Date: Tue, 10 May 2005 00:25:48 GMT Subject: Re: [RFC] Renaming environment variables. Message-ID: <20050510002548.GI15712@pasky.ji.cz> In-Reply-To: <7vhdhcxj0z.fsf_-_@assigned-by-dhcp.cox.net> Dear diary, on Mon, May 09, 2005 at 10:05:00PM CEST, I got a letter where Junio C Hamano told me that... > - Renames the following environment variables: > > New name Old Name > > GIT_AUTHOR_DATE AUTHOR_DATE > GIT_AUTHOR_EMAIL AUTHOR_EMAIL > GIT_AUTHOR_NAME AUTHOR_NAME > GIT_COMMIT_AUTHOR_EMAIL COMMIT_AUTHOR_EMAIL > GIT_COMMIT_AUTHOR_NAME COMMIT_AUTHOR_NAME > GIT_ALTERNATE_OBJECTS SHA1_FILE_DIRECTORIES > GIT_OBJECTS SHA1_FILE_DIRECTORY Could I please have s/COMMIT_AUTHOR/COMMITTER/ and s/OBJECTS/(OBJDIR|OBJECT_DIR)/? > The transition plan is as follows: > > - We will keep the backward compatibility list used by gitenv() > for now, so the current scripts and user environments > continue to work as before. The users will get warnings when > they have old name but not new name in their environment to > the stderr. > > - The Porcelain layers should start using new names. However, > just in case it ends up calling old Plumbing layer > implementation, they should also export old names, taking > values from the corresponding new names, during the > transition period. (Cogito needs its own git-merge-cache so that the merge goes properly anyway, and it already (or still) carries its Git around, so I think it's not applicable to it. Yes, I want and plan to start publishing the Git changes, I'm already making some steps for that and I hope I have something to show by tomorrow.) > - After a couple of weeks or so, we would drop the > compatibility support and drop gitenv(). Revert the callers > to directly call getenv() but keep using the new names. > > The last part is probably optional and the transition > duration needs to be set to a reasonable value. Yes, I think couple of weeks is too long. :-) I'd say one or two releases is enough. > --- /dev/null > +++ b/gitenv.c Pretty please, add copyright notices at the top of files. > +char *gitenv_bc(const char *e) > +{ > + int first, last; > + char *val = getenv(e); > + if (val) > + /* inefficient. caller should use gitenv() not gitenv_bc() */ > + return val; Can this ever happen? If doing it at all, I'd expect gitenv_bc() to rather freak out and die(), the caller is broken. -- Petr "Pasky" Baudis Stuff: http://pasky.or.cz/ C++: an octopus made by nailing extra legs onto a dog. -- Steve Taylor