You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by Emmanuel Lécharny <el...@gmail.com> on 2017/08/04 08:16:41 UTC

[Vote] Switch to git for Apache LDAP API 2.0

Hi guys,


"It was the best *of* times, it was the worst *of* times" (Dickens)


it's a pretty big change : switching away from SVN to git. We are using
svn from the very beginning, so to speak 14 years, and it's probablu
time to use a more efficient and modern VCC system. To most of you, that
should be a no brainer, and we already have a few sub-projects using git
at Diectory (Fortress, kerby).


However, I think it's important to get this vote out, as it's gong to
impact the project as a whole.


Note that it will just be for teh API atm, but the other projects will
most certainly migrate sooner or later (ApacheDS, Studio, Mavibot and
teh site)


So :


[ ] +1 : switch Apache LDAP API to git

[ ] +/-0 : I don't mind

[ ] -1 : Keep going with SVN


-1 is not a veto, feel free to speak your mind. The idea is to be sure
we are all on the same page here : I don't feel compelled to switch, but
I do think it would make it easier for us to work on the project, and
for external users to push PRs.


Thanks !


-- 
Emmanuel Lecharny

Symas.com
directory.apache.org


RE: [Vote] Switch to git for Apache LDAP API 2.0

Posted by "Li, Jiajia" <ji...@intel.com>.
+1

Thanks,
Jiajia

-----Original Message-----
From: Emmanuel Lécharny [mailto:elecharny@gmail.com] 
Sent: Friday, August 4, 2017 4:17 PM
To: Apache Directory Developers List <de...@directory.apache.org>
Subject: [Vote] Switch to git for Apache LDAP API 2.0

Hi guys,


"It was the best *of* times, it was the worst *of* times" (Dickens)


it's a pretty big change : switching away from SVN to git. We are using svn from the very beginning, so to speak 14 years, and it's probablu time to use a more efficient and modern VCC system. To most of you, that should be a no brainer, and we already have a few sub-projects using git at Diectory (Fortress, kerby).


However, I think it's important to get this vote out, as it's gong to impact the project as a whole.


Note that it will just be for teh API atm, but the other projects will most certainly migrate sooner or later (ApacheDS, Studio, Mavibot and teh site)


So :


[ ] +1 : switch Apache LDAP API to git

[ ] +/-0 : I don't mind

[ ] -1 : Keep going with SVN


-1 is not a veto, feel free to speak your mind. The idea is to be sure we are all on the same page here : I don't feel compelled to switch, but I do think it would make it easier for us to work on the project, and for external users to push PRs.


Thanks !


--
Emmanuel Lecharny

Symas.com
directory.apache.org


Re: [Vote] Switch to git for Apache LDAP API 2.0

Posted by Emmanuel Lécharny <el...@gmail.com>.

Le 04/08/2017 à 11:51, Zheng, Kai a écrit :
> +1.
>
> Is there any tool to convert and remain the commit history? If there is any downside, this probably is one if we can’t keep the logs.

logs will be kept. AFAICT The ASF infra has tools to convert a SVN repo
to a Git repo.

-- 
Emmanuel Lecharny

Symas.com
directory.apache.org


RE: [Vote] Switch to git for Apache LDAP API 2.0

Posted by "Zheng, Kai" <ka...@intel.com>.
+1.

Is there any tool to convert and remain the commit history? If there is any downside, this probably is one if we can’t keep the logs.

Regards,
Kai

From: Colm O hEigeartaigh [mailto:coheigea@apache.org]
Sent: Friday, August 04, 2017 4:19 PM
To: Apache Directory Developers List <de...@directory.apache.org>
Subject: Re: [Vote] Switch to git for Apache LDAP API 2.0

+1, most of the projects at Apache I'm involved with now have switched to git.
Colm.

On Fri, Aug 4, 2017 at 9:16 AM, Emmanuel Lécharny <el...@gmail.com>> wrote:
Hi guys,


"It was the best *of* times, it was the worst *of* times" (Dickens)


it's a pretty big change : switching away from SVN to git. We are using
svn from the very beginning, so to speak 14 years, and it's probablu
time to use a more efficient and modern VCC system. To most of you, that
should be a no brainer, and we already have a few sub-projects using git
at Diectory (Fortress, kerby).


However, I think it's important to get this vote out, as it's gong to
impact the project as a whole.


Note that it will just be for teh API atm, but the other projects will
most certainly migrate sooner or later (ApacheDS, Studio, Mavibot and
teh site)


So :


[ ] +1 : switch Apache LDAP API to git

[ ] +/-0 : I don't mind

[ ] -1 : Keep going with SVN


-1 is not a veto, feel free to speak your mind. The idea is to be sure
we are all on the same page here : I don't feel compelled to switch, but
I do think it would make it easier for us to work on the project, and
for external users to push PRs.


Thanks !


--
Emmanuel Lecharny

Symas.com
directory.apache.org<http://directory.apache.org>



--
Colm O hEigeartaigh

Talend Community Coder
http://coders.talend.com

Result, was: [Vote] Switch to git for Apache LDAP API 2.0

Posted by Emmanuel Lécharny <el...@gmail.com>.
Hi guys,

I'm closing this vote, with 11 +1 :


Brian

Colm,

Jiajia

Kai,

Lucas

Radovan

Shawn (McKinney)

Shawn (Smith)

Stefan

Steve

and me


I'll contact Infra for starting the migration, probably this week-end.
I'll try to write down a document first explainng all the tests and put
a page on our site with some explaination about how touse git on the
LDAP API.


All in all, it should not impact us too much, as I suggest to keep the
1.0 branch on SVN for the moment.


I'll keep you informed.


Thanks !


-- 
Emmanuel Lecharny

Symas.com
directory.apache.org


Re: [Vote] Switch to git for Apache LDAP API 2.0

Posted by Colm O hEigeartaigh <co...@apache.org>.
+1, most of the projects at Apache I'm involved with now have switched to
git.

Colm.

On Fri, Aug 4, 2017 at 9:16 AM, Emmanuel Lécharny <el...@gmail.com>
wrote:

> Hi guys,
>
>
> "It was the best *of* times, it was the worst *of* times" (Dickens)
>
>
> it's a pretty big change : switching away from SVN to git. We are using
> svn from the very beginning, so to speak 14 years, and it's probablu
> time to use a more efficient and modern VCC system. To most of you, that
> should be a no brainer, and we already have a few sub-projects using git
> at Diectory (Fortress, kerby).
>
>
> However, I think it's important to get this vote out, as it's gong to
> impact the project as a whole.
>
>
> Note that it will just be for teh API atm, but the other projects will
> most certainly migrate sooner or later (ApacheDS, Studio, Mavibot and
> teh site)
>
>
> So :
>
>
> [ ] +1 : switch Apache LDAP API to git
>
> [ ] +/-0 : I don't mind
>
> [ ] -1 : Keep going with SVN
>
>
> -1 is not a veto, feel free to speak your mind. The idea is to be sure
> we are all on the same page here : I don't feel compelled to switch, but
> I do think it would make it easier for us to work on the project, and
> for external users to push PRs.
>
>
> Thanks !
>
>
> --
> Emmanuel Lecharny
>
> Symas.com
> directory.apache.org
>
>


-- 
Colm O hEigeartaigh

Talend Community Coder
http://coders.talend.com

Re: [Vote] Switch to git for Apache LDAP API 2.0

Posted by Stefan Seelmann <ma...@stefan-seelmann.de>.
+1

On 08/04/2017 10:16 AM, Emmanuel Lécharny wrote:
> Hi guys,
> 
> 
> "It was the best *of* times, it was the worst *of* times" (Dickens)
> 
> 
> it's a pretty big change : switching away from SVN to git. We are using
> svn from the very beginning, so to speak 14 years, and it's probablu
> time to use a more efficient and modern VCC system. To most of you, that
> should be a no brainer, and we already have a few sub-projects using git
> at Diectory (Fortress, kerby).
> 
> 
> However, I think it's important to get this vote out, as it's gong to
> impact the project as a whole.
> 
> 
> Note that it will just be for teh API atm, but the other projects will
> most certainly migrate sooner or later (ApacheDS, Studio, Mavibot and
> teh site)
> 
> 
> So :
> 
> 
> [ ] +1 : switch Apache LDAP API to git
> 
> [ ] +/-0 : I don't mind
> 
> [ ] -1 : Keep going with SVN
> 
> 
> -1 is not a veto, feel free to speak your mind. The idea is to be sure
> we are all on the same page here : I don't feel compelled to switch, but
> I do think it would make it easier for us to work on the project, and
> for external users to push PRs.
> 
> 
> Thanks !
> 
> 


Re: [Vote] Switch to git for Apache LDAP API 2.0

Posted by Shawn McKinney <sm...@apache.org>.
> On Aug 8, 2017, at 7:23 AM, Shawn McKinney <sm...@apache.org> wrote:
> 
> If you are working with uncommitted changes but nonetheless need to synch with server’s latest changes, simply push your uncommitted changes, pull the latest, and then pop your latest changes back off the stack.

er one more correction…

If working with uncommitted changes, …

git stash  (not push!)
git pull
git pop

Shawn

Re: [Vote] Switch to git for Apache LDAP API 2.0

Posted by Shawn McKinney <sm...@apache.org>.
> On Aug 8, 2017, at 7:09 AM, Shawn McKinney <sm...@apache.org> wrote:
> 
>> 
>> Yes please! Once I am familiar and the Directory project has been migrated, I could use it to start the wiki page we should have (analogous to the current SVN page).
>> 
>> I think I might be tempted to try converting one of my own simple SVN projects to GIT. I suppose it is time for me to stop being scared of the dark! (Still, I'm glad it will be the advocates, rather than me, who will be responsible for migrating this complex collection of sub-projects).
> 
> I’ve found 95% of working on an apache directory project is using these commands:
> 
> git clone proj-name

actually more precise is

git clone proj-url

connectivity with a git remote server can be either using SSH or HTTPS.  Either work just fine, SSH usually has integration with your SSH key which saves the trouble of reentering creds each push or pull.

If you are working with uncommitted changes but nonetheless need to synch with server’s latest changes, simply push your uncommitted changes, pull the latest, and then pop your latest changes back off the stack.

IDE integration with GIT is quite good at making rudimentary operations like merging almost an afterthought for the developer.  The IDE will also cache credentials saving the trouble of entering on every change if using HTTPS connectivity.

Finally, there are plenty of good tools to use that provide the ability to look at the change history (which should be preserved after the migration from SVN).  Your IDE can do this or I like gitk.

OK, now I’m really done, and time to git back to work.  :-)

Shawn

Re: [Vote] Switch to git for Apache LDAP API 2.0

Posted by Shawn McKinney <sm...@apache.org>.
> On Aug 7, 2017, at 5:42 PM, Brian Burch <br...@pingtoo.com> wrote:
> 
>> Yes, it can get confusing if you are working with active branches distributed over a large team, but otherwise quite simple to use, and there are plenty of good tutorials around that show the basic usage patterns.
>> I keep a cheat sheet with the half dozen commands I use to manage code bases.  I’ll forward it to you if you’re interested.
> 
> Yes please! Once I am familiar and the Directory project has been migrated, I could use it to start the wiki page we should have (analogous to the current SVN page).
> 
> I think I might be tempted to try converting one of my own simple SVN projects to GIT. I suppose it is time for me to stop being scared of the dark! (Still, I'm glad it will be the advocates, rather than me, who will be responsible for migrating this complex collection of sub-projects).

I’ve found 95% of working on an apache directory project is using these commands:

git clone proj-name

e.g. 

git clone https://github.com/apache/directory-fortress-core.git

will check out latest or

git clone --branch 2.0.0 https://git-wip-us.apache.org/repos/asf/directory-fortress-core.git

will checkout everything from the last release, 2.0.0

The git clone command copies an existing Git repository. This is sort of like SVN checkout, except the “working copy” is a full-fledged Git repository—it has its own history, manages its own files, and is a completely isolated environment from the original repository.
git clone | Atlassian Git Tutorial
https://www.atlassian.com/git/tutorials/setting-up-a-repository/git-clone

Three more very common commands are:

git pull          <— give me everything up to the last pushed commit on branch I’m pointing   
git commit        <- commit my latest changes
git push          <- push my latest commits into the global repository

Performing releases of course will do more operations like creating tags but those ops are wrapped inside of our apache directory standard maven release process, automating most of it.

Of course some projects require branching because their codebases get busy, and many features are being worked on simultaneously.  Typically not the the case in our project.

Regardless, you will eventually find yourself needing to understand how branching and merging works, and here is my cheat sheet for those ops.  Hope it helps….

--- working with branches ---
git fetch          <- fetches new branches
git branch -a      <- shows existing branches
git branch name    <- create new branch of 'name'
git checkout name  <- to start working on this branch

--- temporarily saving and retrieving uncommmitted changes ---
git stash          <- to stash uncommmitted changes, so you can pull latest changes, change to another branch, etc
git pop            <- to retrieve previously saved uncommitted changes

--- rename a branch locally and remotely
git branch -m old_name new_name
git push origin :old_name
git push --set-upstream origin new_name

--- merge the brnach back to master ---
git checkout master
git merge name     <- will fast-forward changes if no changes to the master since the branch
git push           <- to synch with global repo

--- delete the branch (after merge)
git branch -d name <- doesn't remove remotely
git push origin :name

Shawn

Re: [Vote] Switch to git for Apache LDAP API 2.0

Posted by Colm O hEigeartaigh <co...@apache.org>.
+1.

Colm.

On Mon, Aug 7, 2017 at 11:42 PM, Brian Burch <br...@pingtoo.com> wrote:

> On 08/08/17 00:48, Shawn McKinney wrote:
>
>>
>> On Aug 7, 2017, at 5:31 AM, Brian Burch <br...@pingtoo.com> wrote:
>>>
>>> I am not one to leap into the dark without a plan, so it was very
>>> illuminating to be told why that would not be the case for the Directory
>>> project. I hope your explanation will prove to be interesting to other
>>> readers in the future, especially if they are confronting the same
>>> conversion issues for a different project.
>>>
>>> I am considerably wiser now, and delighted to change my vote...
>>>
>>> +1
>>>
>>
>> Brian,
>>
>> Include me to the list of dinosaurs who’ve been subjected to a long list
>> of SCM systems including, but not limited to, PVCS, ClearCase, StarTeam,
>> CVS, SVN and Mercurial.
>>
>> In the past, my ratings for a particular SCM system would be based on how
>> likely it was to do irreparable damage to my code rather than a propensity
>> to actually boost productivity, for which I’ve always been skeptical.
>>
>
> Yes, although I didn't spell it out, that was my most serious concern. I
> still remember backing out a project conversion from CVS to SVN once I
> realised all the change history had disappeared. I didn't mention it
> because the same concern had already been mentioned with respect to GIT.
>
> Having said that, it’s my observation that git is by far the easiest to
>> work with, and the least likely to do harm when things going wrong.
>>
>
> That is reassuring..
>
> Yes, it can get confusing if you are working with active branches
>> distributed over a large team, but otherwise quite simple to use, and there
>> are plenty of good tutorials around that show the basic usage patterns.
>>
>> I keep a cheat sheet with the half dozen commands I use to manage code
>> bases.  I’ll forward it to you if you’re interested.
>>
>
> Yes please! Once I am familiar and the Directory project has been
> migrated, I could use it to start the wiki page we should have (analogous
> to the current SVN page).
>
> I think I might be tempted to try converting one of my own simple SVN
> projects to GIT. I suppose it is time for me to stop being scared of the
> dark! (Still, I'm glad it will be the advocates, rather than me, who will
> be responsible for migrating this complex collection of sub-projects).
>
> Thanks for your reassurance.
>
> Brian
>
> Best,
>> Shawn
>>
>>
>


-- 
Colm O hEigeartaigh

Talend Community Coder
http://coders.talend.com

Re: [Vote] Switch to git for Apache LDAP API 2.0

Posted by Brian Burch <br...@pingtoo.com>.
On 08/08/17 00:48, Shawn McKinney wrote:
> 
>> On Aug 7, 2017, at 5:31 AM, Brian Burch <br...@pingtoo.com> wrote:
>>
>> I am not one to leap into the dark without a plan, so it was very illuminating to be told why that would not be the case for the Directory project. I hope your explanation will prove to be interesting to other readers in the future, especially if they are confronting the same conversion issues for a different project.
>>
>> I am considerably wiser now, and delighted to change my vote...
>>
>> +1
> 
> Brian,
> 
> Include me to the list of dinosaurs who’ve been subjected to a long list of SCM systems including, but not limited to, PVCS, ClearCase, StarTeam, CVS, SVN and Mercurial.
> 
> In the past, my ratings for a particular SCM system would be based on how likely it was to do irreparable damage to my code rather than a propensity to actually boost productivity, for which I’ve always been skeptical.

Yes, although I didn't spell it out, that was my most serious concern. I 
still remember backing out a project conversion from CVS to SVN once I 
realised all the change history had disappeared. I didn't mention it 
because the same concern had already been mentioned with respect to GIT.

> Having said that, it’s my observation that git is by far the easiest to work with, and the least likely to do harm when things going wrong.

That is reassuring..

> Yes, it can get confusing if you are working with active branches distributed over a large team, but otherwise quite simple to use, and there are plenty of good tutorials around that show the basic usage patterns.
> 
> I keep a cheat sheet with the half dozen commands I use to manage code bases.  I’ll forward it to you if you’re interested.

Yes please! Once I am familiar and the Directory project has been 
migrated, I could use it to start the wiki page we should have 
(analogous to the current SVN page).

I think I might be tempted to try converting one of my own simple SVN 
projects to GIT. I suppose it is time for me to stop being scared of the 
dark! (Still, I'm glad it will be the advocates, rather than me, who 
will be responsible for migrating this complex collection of sub-projects).

Thanks for your reassurance.

Brian

> Best,
> Shawn
> 


Re: [Vote] Switch to git for Apache LDAP API 2.0

Posted by Steve Moyer <sm...@psu.edu>.
+1

Re: [Vote] Switch to git for Apache LDAP API 2.0

Posted by Shawn McKinney <sm...@apache.org>.
> On Aug 7, 2017, at 5:31 AM, Brian Burch <br...@pingtoo.com> wrote:
> 
> I am not one to leap into the dark without a plan, so it was very illuminating to be told why that would not be the case for the Directory project. I hope your explanation will prove to be interesting to other readers in the future, especially if they are confronting the same conversion issues for a different project.
> 
> I am considerably wiser now, and delighted to change my vote...
> 
> +1

Brian,

Include me to the list of dinosaurs who’ve been subjected to a long list of SCM systems including, but not limited to, PVCS, ClearCase, StarTeam, CVS, SVN and Mercurial.

In the past, my ratings for a particular SCM system would be based on how likely it was to do irreparable damage to my code rather than a propensity to actually boost productivity, for which I’ve always been skeptical.

Having said that, it’s my observation that git is by far the easiest to work with, and the least likely to do harm when things going wrong.

Yes, it can get confusing if you are working with active branches distributed over a large team, but otherwise quite simple to use, and there are plenty of good tutorials around that show the basic usage patterns.

I keep a cheat sheet with the half dozen commands I use to manage code bases.  I’ll forward it to you if you’re interested.

Best,
Shawn  

Re: [Vote] Switch to git for Apache LDAP API 2.0

Posted by Brian Burch <br...@pingtoo.com>.
This will probably mess up the thread, but I accidentally sent it only 
to Emmanuel when I meant to reply to the list!

Sorry for shooting from the hip..

On 05/08/17 20:24, Emmanuel Lécharny wrote:
> Comments inline...
> 
> 
> Le 05/08/2017 à 09:22, Brian Burch a écrit :
>> On 04/08/17 18:16, Emmanuel Lécharny wrote:
>>> Hi guys,
>>>
>>>
>>> "It was the best *of* times, it was the worst *of* times" (Dickens)
>>>
>>>
>>> it's a pretty big change : switching away from SVN to git. We are using
>>> svn from the very beginning, so to speak 14 years, and it's probablu
>>> time to use a more efficient and modern VCC system. To most of you, that
>>> should be a no brainer, and we already have a few sub-projects using git
>>> at Diectory (Fortress, kerby).
>>>
>>>
>>> However, I think it's important to get this vote out, as it's gong to
>>> impact the project as a whole.
>>>
>>>
>>> Note that it will just be for teh API atm, but the other projects will
>>> most certainly migrate sooner or later (ApacheDS, Studio, Mavibot and
>>> teh site)
>>>
>>
>> I'm just a dinosaur!
> 
> Ah ! And you are not alone :-) Born in 1964, I can tell you that I'm
> closer to the end of my carrer than the opposite...
>>
>> Some of my dormant projects are still held on CVS (to retain the
>> history)! I made the switch to SVN for those projects which required
>> it and adapted my methods to suit. As time went by I began to
>> appreciate the value in the weaknesses of CVS which were addressed by
>> SVN. I am comfortable with SVN, warts and all...
> 
> When I was a student, working on MS-DOS machines, we didn't have access
> to any VCS. When I started to work I faced SCCS
> (https://en.wikipedia.org/wiki/Source_Code_Control_System) and my first
> internship was about creating a shells script based interface that make
> it transparent for users : operations like 'edit <file>' were pulling
> the latest version of teh file, and 'save <file>' was pushing it back to
> the repo. It was in 1988...
> 
> Then I switched to Microsoft SourceSafe (a huge improvement !), moved
> back to Clear Case (a clear regression, up to a point we needed a
> dedicated person to merge the changes :/). Then I switched to CVS, which
> was OK, but asI was also working in Java and specifically with IBM
> VisualAge (https://en.wikipedia.org/wiki/IBM_VisualAge) - which aged no
> so well... - that included a VCS (that saved us many times). Except that
> sharing the changes in the team wasn't that easy.
> 
> In 2005, when I started working on Directory, it was already using SVN
> (The ASF migrated from CVS to SVN around 2003,AFAICT). A huge plus
> compared to CVS especially when it comes to manage branches ( I hated so
> much the way branches were managed in CVS :/).
> 
> SVN was not perfect, and in old versions, managing branches and merging
> was quite a nightmare ! It improves with the years, and especially the
> plugins for the IDE we are using (Eclipse), but we were years before
> being able to commit from teh IDE (during a couple of years we were
> mostly committing from the command line).
> 
> So SVN is now stable, well known by people working on this project for
> more than a decade. But... (see later comments)
>>
>> Of course, I've had to work with GIT when a project has converted, and
>> I've heard all the advocates many times before. It must be my
>> fossilised brain making me still uncomfortable with GIT - it just
>> feels "back to front" to me. In my mind, it feels natural to have an
>> authoritative source and replicate it into my own "sandbox" to "play"
>> with.
> 
> Actually, we do have a authoritative source at The ASF : the code is
> stored on an ASF machine, because The ASF is taking responsability to
> provide code to the public.
> 
> All in all, the way The ASF uses git is a bit different to what other
> organisations are used to. I also have to say that The ASF was quite
> relictant to use Git for good - and bad - reasons. Nowadays, I would say
> that 75% of the ASF projects are using GIT, and I don't know of ny new
> projects using SVN today.
> 
> Anyway, I know your feelings : I'm myself so used with SVN that
> everytime I have to switch to git - and all the cryptic command lines
> options - it's a bit of a pain. OTOH, I realized that I have to work
> more and more with git those days, and it's now a pain to have to switch
> frm git to SVN and from SVN to git :/ And this is the whole idea :
> getting rid of this mental charge.
> 
>>
>> I've noticed all the enthusiastic +1's for this vote, so I am resigned
>> to having to adapt to yet another GIT project. All I can ask is that
>> someone writes a helpful wiki page for those developers who want to
>> hit the ground running once the trunk has migrated. Will there be any
>> gotchas associated with the transitional period?
> 
> Yes, we will need to write down a page about the migration. And there
> will be gotchas :
> - SVN ignores will have to be converted to .gitignore
> - our build is based on externals and I'm no sure we can have the same
> in git. OTOH, I'm not sure it makes sense anymore t use externals...
> - PRs will have to be handled, while we were mostly asking people to
> attach a diff to a JIRA when they wanted to propose a patch.
> 
> 
>>
>>> So :
>>>
>>>
>>> [ ] +1 : switch Apache LDAP API to git
>>>
>>> [ ] +/-0 : I don't mind
>>>
>>> [ ] -1 : Keep going with SVN
>>>
>>>
>>> -1 is not a veto, feel free to speak your mind. The idea is to be sure
>>> we are all on the same page here : I don't feel compelled to switch, but
>>> I do think it would make it easier for us to work on the project, and
>>> for external users to push PRs.
>>
>> Thanks for being so diplomatic, Emmanuel. With your "encouragement", I
>> am inclined to vote -1...
>>
>> However, if someone can explain how the peculiar SVN structure of the
>> project would be improved by migration to GIT - I mean having to
>> checkout the code and wiki sources under different urls and sandboxes,
>> then I would be happy to vote +1.
> 
> As I said we are using externals, which allows you to checkout many
> projects in one shot doing :
> 
> svn co http://svn.apache.org/repos/asf/directory/trunks
> 
> which pulls apacheds, studio, shared, project, kerberos-client,
> checkstyle-configuration, junit-addons, apacheds-manuals,
> ldap-api-manuals, jdbm, mavibot, skin and docker.
> 
> Out of those projects, a few might die sooner or later :
> apacheds-manuals, ldap-api-manuals and jdbm.
> 
> Otherwise, git has submodules that pretty much mimic svn:externals.
> 
> Beside that, we already have a decent git support in most of the IDE,
> Git is way faster when it comes to commit huge changes, and makes it
> simpler to merge changes when some directory or files are moved around -
> SVN tree merge nightmare anyone ? ;-) -.
> 
>>
>> I am pleased to see everyone voting so politely!
> 
> Why would we behave differently ? I know that Game Of Throne 7 is out,
> but that's better on a TV set than in real life ;-)
> 
> Have a nice week-end !

Thank you very much for your long and interesting explanation, Emmanuel.

I won't bore you with my own long list of past experiences, but they are 
rather similar to yours (except I started on mainframes)! I especially 
appreciated your final svn-to-git section, because I haven't needed to 
gain that experience until now.

I am not one to leap into the dark without a plan, so it was very 
illuminating to be told why that would not be the case for the Directory 
project. I hope your explanation will prove to be interesting to other 
readers in the future, especially if they are confronting the same 
conversion issues for a different project.

I am considerably wiser now, and delighted to change my vote...

+1

Thanks again,

Brian

p.s. I will follow the migration process with interest - especially the 
gotchas!


Re: [Vote] Switch to git for Apache LDAP API 2.0

Posted by Emmanuel Lécharny <el...@gmail.com>.
Comments inline...


Le 05/08/2017 à 09:22, Brian Burch a écrit :
> On 04/08/17 18:16, Emmanuel Lécharny wrote:
>> Hi guys,
>>
>>
>> "It was the best *of* times, it was the worst *of* times" (Dickens)
>>
>>
>> it's a pretty big change : switching away from SVN to git. We are using
>> svn from the very beginning, so to speak 14 years, and it's probablu
>> time to use a more efficient and modern VCC system. To most of you, that
>> should be a no brainer, and we already have a few sub-projects using git
>> at Diectory (Fortress, kerby).
>>
>>
>> However, I think it's important to get this vote out, as it's gong to
>> impact the project as a whole.
>>
>>
>> Note that it will just be for teh API atm, but the other projects will
>> most certainly migrate sooner or later (ApacheDS, Studio, Mavibot and
>> teh site)
>>
>
> I'm just a dinosaur!

Ah ! And you are not alone :-) Born in 1964, I can tell you that I'm
closer to the end of my carrer than the opposite...
>
> Some of my dormant projects are still held on CVS (to retain the
> history)! I made the switch to SVN for those projects which required
> it and adapted my methods to suit. As time went by I began to
> appreciate the value in the weaknesses of CVS which were addressed by
> SVN. I am comfortable with SVN, warts and all...

When I was a student, working on MS-DOS machines, we didn't have access
to any VCS. When I started to work I faced SCCS
(https://en.wikipedia.org/wiki/Source_Code_Control_System) and my first
internship was about creating a shells script based interface that make
it transparent for users : operations like 'edit <file>' were pulling
the latest version of teh file, and 'save <file>' was pushing it back to
the repo. It was in 1988...

Then I switched to Microsoft SourceSafe (a huge improvement !), moved
back to Clear Case (a clear regression, up to a point we needed a
dedicated person to merge the changes :/). Then I switched to CVS, which
was OK, but asI was also working in Java and specifically with IBM
VisualAge (https://en.wikipedia.org/wiki/IBM_VisualAge) - which aged no
so well... - that included a VCS (that saved us many times). Except that
sharing the changes in the team wasn't that easy.

In 2005, when I started working on Directory, it was already using SVN
(The ASF migrated from CVS to SVN around 2003,AFAICT). A huge plus
compared to CVS especially when it comes to manage branches ( I hated so
much the way branches were managed in CVS :/).

SVN was not perfect, and in old versions, managing branches and merging
was quite a nightmare ! It improves with the years, and especially the
plugins for the IDE we are using (Eclipse), but we were years before
being able to commit from teh IDE (during a couple of years we were
mostly committing from the command line).

So SVN is now stable, well known by people working on this project for
more than a decade. But... (see later comments)
>
> Of course, I've had to work with GIT when a project has converted, and
> I've heard all the advocates many times before. It must be my
> fossilised brain making me still uncomfortable with GIT - it just
> feels "back to front" to me. In my mind, it feels natural to have an
> authoritative source and replicate it into my own "sandbox" to "play"
> with.

Actually, we do have a authoritative source at The ASF : the code is
stored on an ASF machine, because The ASF is taking responsability to
provide code to the public.

All in all, the way The ASF uses git is a bit different to what other
organisations are used to. I also have to say that The ASF was quite
relictant to use Git for good - and bad - reasons. Nowadays, I would say
that 75% of the ASF projects are using GIT, and I don't know of ny new
projects using SVN today.

Anyway, I know your feelings : I'm myself so used with SVN that
everytime I have to switch to git - and all the cryptic command lines
options - it's a bit of a pain. OTOH, I realized that I have to work
more and more with git those days, and it's now a pain to have to switch
frm git to SVN and from SVN to git :/ And this is the whole idea :
getting rid of this mental charge.

>
> I've noticed all the enthusiastic +1's for this vote, so I am resigned
> to having to adapt to yet another GIT project. All I can ask is that
> someone writes a helpful wiki page for those developers who want to
> hit the ground running once the trunk has migrated. Will there be any
> gotchas associated with the transitional period?

Yes, we will need to write down a page about the migration. And there
will be gotchas :
- SVN ignores will have to be converted to .gitignore
- our build is based on externals and I'm no sure we can have the same
in git. OTOH, I'm not sure it makes sense anymore t use externals...
- PRs will have to be handled, while we were mostly asking people to
attach a diff to a JIRA when they wanted to propose a patch.


>
>> So :
>>
>>
>> [ ] +1 : switch Apache LDAP API to git
>>
>> [ ] +/-0 : I don't mind
>>
>> [ ] -1 : Keep going with SVN
>>
>>
>> -1 is not a veto, feel free to speak your mind. The idea is to be sure
>> we are all on the same page here : I don't feel compelled to switch, but
>> I do think it would make it easier for us to work on the project, and
>> for external users to push PRs.
>
> Thanks for being so diplomatic, Emmanuel. With your "encouragement", I
> am inclined to vote -1...
>
> However, if someone can explain how the peculiar SVN structure of the
> project would be improved by migration to GIT - I mean having to
> checkout the code and wiki sources under different urls and sandboxes,
> then I would be happy to vote +1.

As I said we are using externals, which allows you to checkout many
projects in one shot doing :

svn co http://svn.apache.org/repos/asf/directory/trunks

which pulls apacheds, studio, shared, project, kerberos-client,
checkstyle-configuration, junit-addons, apacheds-manuals,
ldap-api-manuals, jdbm, mavibot, skin and docker.

Out of those projects, a few might die sooner or later :
apacheds-manuals, ldap-api-manuals and jdbm.

Otherwise, git has submodules that pretty much mimic svn:externals.

Beside that, we already have a decent git support in most of the IDE,
Git is way faster when it comes to commit huge changes, and makes it
simpler to merge changes when some directory or files are moved around -
SVN tree merge nightmare anyone ? ;-) -.

>
> I am pleased to see everyone voting so politely!

Why would we behave differently ? I know that Game Of Throne 7 is out,
but that's better on a TV set than in real life ;-)

Have a nice week-end !

-- 
Emmanuel Lecharny

Symas.com
directory.apache.org


Re: [Vote] Switch to git for Apache LDAP API 2.0

Posted by Emmanuel Lécharny <el...@gmail.com>.

Le 07/08/2017 à 09:39, Radovan Semancik a écrit :
> Hi,
>
> On 08/05/2017 09:22 AM, Brian Burch wrote:
>> I've noticed all the enthusiastic +1's for this vote, so I am
>> resigned to having to adapt to yet another GIT project. All I can ask
>> is that someone writes a helpful wiki page for those developers who
>> want to hit the ground running once the trunk has migrated. Will
>> there be any gotchas associated with the transitional period?
>
> I was using SVN almost since it was born. 

You mean your parents branched you ! ;-)

-- 
Emmanuel Lecharny

Symas.com
directory.apache.org


Re: [Vote] Switch to git for Apache LDAP API 2.0

Posted by Radovan Semancik <ra...@evolveum.com>.
Hi,

On 08/05/2017 09:22 AM, Brian Burch wrote:
> I've noticed all the enthusiastic +1's for this vote, so I am resigned 
> to having to adapt to yet another GIT project. All I can ask is that 
> someone writes a helpful wiki page for those developers who want to 
> hit the ground running once the trunk has migrated. Will there be any 
> gotchas associated with the transitional period?

I was using SVN almost since it was born. Even for some very large 
projects. Started my own project on SVN. But that quickly reached the 
SVN limits. So I was migrating the project from SVN to Git few years 
ago. It went absolutely smoothly, all the history is preserved and the 
whole team adapted to Git in almost no time. Git enabled a completely 
new dimension of flexibility. Few months after the switch I wondered how 
I could ever live with SVN ...

There is no need to be afraid. You can use Git in almost the same way as 
you use SVN now. Looking back at my migration I found this to be very 
useful:

https://git.wiki.kernel.org/index.php/GitSvnCrashCourse

-- 
Radovan Semancik
Software Architect
evolveum.com


Re: [Vote] Switch to git for Apache LDAP API 2.0

Posted by Brian Burch <br...@pingtoo.com>.
On 04/08/17 18:16, Emmanuel Lécharny wrote:
> Hi guys,
> 
> 
> "It was the best *of* times, it was the worst *of* times" (Dickens)
> 
> 
> it's a pretty big change : switching away from SVN to git. We are using
> svn from the very beginning, so to speak 14 years, and it's probablu
> time to use a more efficient and modern VCC system. To most of you, that
> should be a no brainer, and we already have a few sub-projects using git
> at Diectory (Fortress, kerby).
> 
> 
> However, I think it's important to get this vote out, as it's gong to
> impact the project as a whole.
> 
> 
> Note that it will just be for teh API atm, but the other projects will
> most certainly migrate sooner or later (ApacheDS, Studio, Mavibot and
> teh site)
> 

I'm just a dinosaur!

Some of my dormant projects are still held on CVS (to retain the 
history)! I made the switch to SVN for those projects which required it 
and adapted my methods to suit. As time went by I began to appreciate 
the value in the weaknesses of CVS which were addressed by SVN. I am 
comfortable with SVN, warts and all...

Of course, I've had to work with GIT when a project has converted, and 
I've heard all the advocates many times before. It must be my fossilised 
brain making me still uncomfortable with GIT - it just feels "back to 
front" to me. In my mind, it feels natural to have an authoritative 
source and replicate it into my own "sandbox" to "play" with.

I've noticed all the enthusiastic +1's for this vote, so I am resigned 
to having to adapt to yet another GIT project. All I can ask is that 
someone writes a helpful wiki page for those developers who want to hit 
the ground running once the trunk has migrated. Will there be any 
gotchas associated with the transitional period?

> So :
> 
> 
> [ ] +1 : switch Apache LDAP API to git
> 
> [ ] +/-0 : I don't mind
> 
> [ ] -1 : Keep going with SVN
> 
> 
> -1 is not a veto, feel free to speak your mind. The idea is to be sure
> we are all on the same page here : I don't feel compelled to switch, but
> I do think it would make it easier for us to work on the project, and
> for external users to push PRs.

Thanks for being so diplomatic, Emmanuel. With your "encouragement", I 
am inclined to vote -1...

However, if someone can explain how the peculiar SVN structure of the 
project would be improved by migration to GIT - I mean having to 
checkout the code and wiki sources under different urls and sandboxes, 
then I would be happy to vote +1.

I am pleased to see everyone voting so politely!

Brian

> Thanks !


Re: [Vote] Switch to git for Apache LDAP API 2.0

Posted by Radovan Semancik <ra...@evolveum.com>.
+1

... but only because I cannot give +1000000 :-)

-- 
Radovan Semancik
Software Architect
evolveum.com



On 08/04/2017 10:16 AM, Emmanuel Lécharny wrote:
> Hi guys,
>
>
> "It was the best *of* times, it was the worst *of* times" (Dickens)
>
>
> it's a pretty big change : switching away from SVN to git. We are using
> svn from the very beginning, so to speak 14 years, and it's probablu
> time to use a more efficient and modern VCC system. To most of you, that
> should be a no brainer, and we already have a few sub-projects using git
> at Diectory (Fortress, kerby).
>
>
> However, I think it's important to get this vote out, as it's gong to
> impact the project as a whole.
>
>
> Note that it will just be for teh API atm, but the other projects will
> most certainly migrate sooner or later (ApacheDS, Studio, Mavibot and
> teh site)
>
>
> So :
>
>
> [ ] +1 : switch Apache LDAP API to git
>
> [ ] +/-0 : I don't mind
>
> [ ] -1 : Keep going with SVN
>
>
> -1 is not a veto, feel free to speak your mind. The idea is to be sure
> we are all on the same page here : I don't feel compelled to switch, but
> I do think it would make it easier for us to work on the project, and
> for external users to push PRs.
>
>
> Thanks !
>
>



Re: [Vote] Switch to git for Apache LDAP API 2.0

Posted by SHAWN E SMITH <se...@psu.edu>.
We use https://john.albin.net/git/convert-subversion-to-git for our conversions.  Works pretty cleanly.

"The programmer … works only slightly removed from pure thought-stuff.
He builds his castles in the air, from air, creating by exertion of the imagination."
— Fred Brooks

Shawn Smith
Director of Software Engineering
Enterprise Infrastructure and Operations
Penn State University
814-321-5227
ses44@psu.edu

https://keybase.io/ussmith

----- Original Message -----
From: "SHAWN E SMITH" <se...@psu.edu>
To: "Apache Directory Developers List" <de...@directory.apache.org>
Sent: Friday, August 4, 2017 8:40:00 AM
Subject: Re: [Vote] Switch to git for Apache LDAP API 2.0

+1

"The programmer … works only slightly removed from pure thought-stuff.
He builds his castles in the air, from air, creating by exertion of the imagination."
— Fred Brooks

Shawn Smith
Director of Software Engineering
Enterprise Infrastructure and Operations
Penn State University
814-321-5227
ses44@psu.edu

https://keybase.io/ussmith

----- Original Message -----
From: "Emmanuel Lécharny" <el...@gmail.com>
To: "Apache Directory Developers List" <de...@directory.apache.org>
Sent: Friday, August 4, 2017 4:16:41 AM
Subject: [Vote] Switch to git for Apache LDAP API 2.0

Hi guys,


"It was the best *of* times, it was the worst *of* times" (Dickens)


it's a pretty big change : switching away from SVN to git. We are using
svn from the very beginning, so to speak 14 years, and it's probablu
time to use a more efficient and modern VCC system. To most of you, that
should be a no brainer, and we already have a few sub-projects using git
at Diectory (Fortress, kerby).


However, I think it's important to get this vote out, as it's gong to
impact the project as a whole.


Note that it will just be for teh API atm, but the other projects will
most certainly migrate sooner or later (ApacheDS, Studio, Mavibot and
teh site)


So :


[ ] +1 : switch Apache LDAP API to git

[ ] +/-0 : I don't mind

[ ] -1 : Keep going with SVN


-1 is not a veto, feel free to speak your mind. The idea is to be sure
we are all on the same page here : I don't feel compelled to switch, but
I do think it would make it easier for us to work on the project, and
for external users to push PRs.


Thanks !


-- 
Emmanuel Lecharny

Symas.com
directory.apache.org

Re: [Vote] Switch to git for Apache LDAP API 2.0

Posted by Shawn McKinney <sm...@apache.org>.
+1, good move

> On Aug 4, 2017, at 7:47 AM, Lucas Theisen <lu...@pastdev.com> wrote:
> 
> +1, I did once use git-svn to convert a local copy a couple years back...  It was super slow but worked eventually...
> 
> On Aug 4, 2017 8:40 AM, "SHAWN E SMITH" <se...@psuedu> wrote:
> +1
> 
> "The programmer … works only slightly removed from pure thought-stuff.
> He builds his castles in the air, from air, creating by exertion of the imagination."
> — Fred Brooks
> 
> Shawn Smith
> Director of Software Engineering
> Enterprise Infrastructure and Operations
> Penn State University
> 814-321-5227
> ses44@psu.edu
> 
> https://keybase.io/ussmith
> 
> ----- Original Message -----
> From: "Emmanuel Lécharny" <el...@gmail.com>
> To: "Apache Directory Developers List" <de...@directory.apache.org>
> Sent: Friday, August 4, 2017 4:16:41 AM
> Subject: [Vote] Switch to git for Apache LDAP API 2.0
> 
> Hi guys,
> 
> 
> "It was the best *of* times, it was the worst *of* times" (Dickens)
> 
> 
> it's a pretty big change : switching away from SVN to git. We are using
> svn from the very beginning, so to speak 14 years, and it's probablu
> time to use a more efficient and modern VCC system. To most of you, that
> should be a no brainer, and we already have a few sub-projects using git
> at Diectory (Fortress, kerby).
> 
> 
> However, I think it's important to get this vote out, as it's gong to
> impact the project as a whole.
> 
> 
> Note that it will just be for teh API atm, but the other projects will
> most certainly migrate sooner or later (ApacheDS, Studio, Mavibot and
> teh site)
> 
> 
> So :
> 
> 
> [ ] +1 : switch Apache LDAP API to git
> 
> [ ] +/-0 : I don't mind
> 
> [ ] -1 : Keep going with SVN
> 
> 
> -1 is not a veto, feel free to speak your mind. The idea is to be sure
> we are all on the same page here : I don't feel compelled to switch, but
> I do think it would make it easier for us to work on the project, and
> for external users to push PRs.
> 
> 
> Thanks !
> 
> 
> --
> Emmanuel Lecharny
> 
> Symas.com
> directory.apache.org
> 


Re: [Vote] Switch to git for Apache LDAP API 2.0

Posted by Lucas Theisen <lu...@pastdev.com>.
+1, I did once use git-svn to convert a local copy a couple years back...
It was super slow but worked eventually...

On Aug 4, 2017 8:40 AM, "SHAWN E SMITH" <se...@psu.edu> wrote:

+1

"The programmer … works only slightly removed from pure thought-stuff.
He builds his castles in the air, from air, creating by exertion of the
imagination."
— Fred Brooks

Shawn Smith
Director of Software Engineering
Enterprise Infrastructure and Operations
Penn State University
814-321-5227
ses44@psu.edu

https://keybase.io/ussmith

----- Original Message -----
From: "Emmanuel Lécharny" <el...@gmail.com>
To: "Apache Directory Developers List" <de...@directory.apache.org>
Sent: Friday, August 4, 2017 4:16:41 AM
Subject: [Vote] Switch to git for Apache LDAP API 2.0

Hi guys,


"It was the best *of* times, it was the worst *of* times" (Dickens)


it's a pretty big change : switching away from SVN to git. We are using
svn from the very beginning, so to speak 14 years, and it's probablu
time to use a more efficient and modern VCC system. To most of you, that
should be a no brainer, and we already have a few sub-projects using git
at Diectory (Fortress, kerby).


However, I think it's important to get this vote out, as it's gong to
impact the project as a whole.


Note that it will just be for teh API atm, but the other projects will
most certainly migrate sooner or later (ApacheDS, Studio, Mavibot and
teh site)


So :


[ ] +1 : switch Apache LDAP API to git

[ ] +/-0 : I don't mind

[ ] -1 : Keep going with SVN


-1 is not a veto, feel free to speak your mind. The idea is to be sure
we are all on the same page here : I don't feel compelled to switch, but
I do think it would make it easier for us to work on the project, and
for external users to push PRs.


Thanks !


--
Emmanuel Lecharny

Symas.com
directory.apache.org

Re: [Vote] Switch to git for Apache LDAP API 2.0

Posted by SHAWN E SMITH <se...@psu.edu>.
+1

"The programmer … works only slightly removed from pure thought-stuff.
He builds his castles in the air, from air, creating by exertion of the imagination."
— Fred Brooks

Shawn Smith
Director of Software Engineering
Enterprise Infrastructure and Operations
Penn State University
814-321-5227
ses44@psu.edu

https://keybase.io/ussmith

----- Original Message -----
From: "Emmanuel Lécharny" <el...@gmail.com>
To: "Apache Directory Developers List" <de...@directory.apache.org>
Sent: Friday, August 4, 2017 4:16:41 AM
Subject: [Vote] Switch to git for Apache LDAP API 2.0

Hi guys,


"It was the best *of* times, it was the worst *of* times" (Dickens)


it's a pretty big change : switching away from SVN to git. We are using
svn from the very beginning, so to speak 14 years, and it's probablu
time to use a more efficient and modern VCC system. To most of you, that
should be a no brainer, and we already have a few sub-projects using git
at Diectory (Fortress, kerby).


However, I think it's important to get this vote out, as it's gong to
impact the project as a whole.


Note that it will just be for teh API atm, but the other projects will
most certainly migrate sooner or later (ApacheDS, Studio, Mavibot and
teh site)


So :


[ ] +1 : switch Apache LDAP API to git

[ ] +/-0 : I don't mind

[ ] -1 : Keep going with SVN


-1 is not a veto, feel free to speak your mind. The idea is to be sure
we are all on the same page here : I don't feel compelled to switch, but
I do think it would make it easier for us to work on the project, and
for external users to push PRs.


Thanks !


-- 
Emmanuel Lecharny

Symas.com
directory.apache.org