I confirm that you git 1.9 for windows now support long path name.

Note that you have to enable it with:

git config core.longpaths true

for a single repository or

git config --global core.longpaths true

globally.


On Thu, Mar 20, 2014 at 4:25 PM, Thomas Mortagne
<[email protected]> wrote:
> Note that long path issue on Windows is supposedly fixed in git 1.9.
>
> On Thu, Jun 20, 2013 at 9:42 AM, Ecaterina Moraru (Valica)
> <[email protected]> wrote:
>> Linking the issue in case someone will work on this in the future
>> http://jira.xwiki.org/browse/XWIKI-8275
>>
>> Thanks,
>> Caty
>>
>> On Wed, May 22, 2013 at 1:55 PM, Thomas Mortagne
>> <[email protected]>wrote:
>>
>>> So here are the winners on platform/XE master:
>>>
>>>
>>> xwiki-platform-core/xwiki-platform-administration/xwiki-platform-administration-test/xwiki-platform-administration-test-tests/target/smartgwt/com/smartclient/theme/enterpriseblue/public/sc/skins/EnterpriseBlue/images/Progressbar/progressbar_Disabled_v_empty_stretch.gif
>>> (270)
>>>
>>>
>>> xwiki-enterprise-installers/xwiki-enterprise-installer-generic/target/container/xwiki-enterprise-jetty-hsqldb-5.1-SNAPSHOT/data/extension/repository/org.xwiki.platform%3Axwiki-platform-rendering-wikimacro-ui/5.1-SNAPSHOT/org.xwiki.platform%3Axwiki-platform-rendering-wikimacro-ui-5.1-SNAPSHOT.xed
>>> (296)
>>>
>>> which gives after refactoring
>>>
>>>
>>> core/administration/test/tests/target/smartgwt/com/smartclient/theme/enterpriseblue/public/sc/skins/EnterpriseBlue/images/Progressbar/progressbar_Disabled_v_empty_stretch.gif
>>> (174)
>>>
>>>
>>> installers/generic/target/container/xwiki-enterprise-jetty-hsqldb-5.1-SNAPSHOT/data/extension/repository/org.xwiki.platform%3Axwiki-platform-rendering-wikimacro-ui/5.1-SNAPSHOT/org.xwiki.platform%3Axwiki-platform-rendering-wikimacro-ui-5.1-SNAPSHOT.xed
>>> (252)
>>>
>>> On Tue, May 21, 2013 at 11:54 AM, Vincent Massol <[email protected]>
>>> wrote:
>>> > FTR Thomas and I have discussed this a bit and one thing Thomas has
>>> started checking is the longest path we currently have.
>>> >
>>> > One that we have found is:
>>> >
>>> >
>>> /Users/vmassol/dev/xwiki/git/xwiki-platform/xwiki-platform-core/xwiki-platform-ircbot/xwiki-platform-ircbot-test/xwiki-platform-ircbot-test-tests/target/xwiki-enterprise-jetty-hsqldb-5.0.2-SNAPSHOT/data/extension/repository/org.xwiki.platform%3Axwiki-platform-rendering-wikimacro-ui/5.0.2-SNAPSHOT/org.xwiki.platform%3Axwiki-platform-rendering-wikimacro-ui-5.0.2-SNAPSHOT.xar
>>> >
>>>
>>> Note that this kind of path does not exist, looks like you extracted a
>>> XE in your platform project for test purpose. The actual test data is
>>> extracted in
>>> /Users/vmassol/dev/xwiki/git/xwiki-platform/xwiki-platform-core/xwiki-platform-ircbot/xwiki-platform-ircbot-test/wiki
>>> and /data/extension/repository is empty.
>>>
>>> > That's 375 characters
>>> >
>>> > With the new rule that would be:
>>> >
>>> >
>>> /Users/vmassol/dev/xwiki/git/xwiki-platform/core/ircbot/test/test-tests/target/xwiki-enterprise-jetty-hsqldb-5.0.2-SNAPSHOT/data/extension/repository/org.xwiki.platform%3Axwiki-platform-rendering-wikimacro-ui/5.0.2-SNAPSHOT/org.xwiki.platform%3Axwiki-platform-rendering-wikimacro-ui-5.0.2-SNAPSHOT.xar
>>> >
>>> > That's still 301 characters.
>>> >
>>> > Thomas has done an extensive search and he'll be able to give more
>>> details on other long paths.
>>> >
>>> > Also note that we have an issue at runtime with too long paths:
>>> >
>>> > [2/11/13 1:22:10 PM] Ionut Maxim: !
>>> C:\Users\max\Downloads\xwiki-enterprise-jetty-hsqldb-4.5-rc-1.zip: The
>>> archive is corrupt
>>> > !   C:\Users\max\Downloads\xwiki-enterprise-jetty-hsqldb-4.5-rc-1.zip:
>>> The archive is corrupt
>>> > ...
>>> > !   C:\Users\max\Downloads\xwiki-enterprise-jetty-hsqldb-4.5-rc-1.zip:
>>> Cannot create
>>> xwiki-enterprise-jetty-hsqldb-4.5-rc-1\data\extension\repository\org.xwiki.platform%3Axwiki-platform-rendering-wikimacro-ui\4.5-rc-1\org.xwiki.platform%3Axwiki-platform-rendering-wikimacro-ui-4.5-rc-1.xed
>>> >     Total path and file name length must not exceed 260 characters
>>> >
>>> > What we could do to solve both problems would be to reduce the path
>>> length used by the EM to store metadata. For example:
>>> >
>>> >
>>> /Users/vmassol/dev/xwiki/git/xwiki-platform/core/ircbot/test/test-tests/target/xwiki-enterprise-jetty-hsqldb-5.0.2-SNAPSHOT/data/extension/repository/org.xwiki.platform%3Axwiki-platform-rendering-wikimacro-ui/5.0.2-SNAPSHOT/artifact.xar
>>> >
>>> > which gives 236 chars. Still pretty close so another solution would be
>>> to use some random directory names (since the names are not used by the EM):
>>> >
>>> >
>>> /Users/vmassol/dev/xwiki/git/xwiki-platform/core/ircbot/test/test-tests/target/xwiki-enterprise-jetty-hsqldb-5.0.2-SNAPSHOT/data/extension/repository/dfdsf4fszz3lmbf567/artifact.xar
>>> >
>>> > which would be around 200 chars.
>>> >
>>> > Now what would be interesting would be to give indications to xwiki
>>> builders and xwiki users as to what is the max path prefix they're allowed
>>> to use for xwiki to build/work. In my example below I'm using
>>> "/Users/vmassol/dev/xwiki/git" chars (i.e. 28 chars).
>>> >
>>> > Thanks
>>> > -Vincent
>>> >
>>> > On May 16, 2013, at 7:02 PM, Sergiu Dumitriu <[email protected]> wrote:
>>> >
>>> >> On 05/16/2013 12:16 PM, Vincent Massol wrote:
>>> >>>
>>> >>> On May 16, 2013, at 6:09 PM, Vincent Massol <[email protected]>
>>> wrote:
>>> >>>
>>> >>>>
>>> >>>> On May 16, 2013, at 5:29 PM, Sergiu Dumitriu <[email protected]>
>>> wrote:
>>> >>>>
>>> >>>>> On 05/16/2013 10:54 AM, Vincent Massol wrote:
>>> >>>>>>
>>> >>>>>> On May 16, 2013, at 4:47 PM, Thomas Mortagne <
>>> [email protected]> wrote:
>>> >>>>>>
>>> >>>>>>> On Thu, May 16, 2013 at 4:25 PM, Vincent Massol <
>>> [email protected]> wrote:
>>> >>>>>>>> I'm rather -0 ATM and very close to -1 because:
>>> >>>>>>>>
>>> >>>>>>>> 1) I haven't heard from a windows dev for a long time, I don't
>>> think that happens that often
>>> >>>>>>>
>>> >>>>>>> And it's surely not going to improve...
>>> >>>>>>>
>>> >>>>>>>>
>>> >>>>>>>> 2) It's a *huge* change and it should definitely not be done
>>> lightly. We would need to plan a period like 2 full days, all devs would
>>> need to stop working on what they do and help out. For example all pages on
>>> xwiki.org having some github links are going to be broken and will need
>>> to be updated (that's probably around hunded of pages overall)
>>> >>>>>>>>
>>> >>>>>>>
>>> >>>>>>> Yes it's a huge change, that's why it's a vote.
>>> >>>>>>>
>>> >>>>>>>> 3) Windows devs have a simple solution which is to use cygwin so
>>> it's not a blocker
>>> >>>>>>>
>>> >>>>>>> It's not as trivial as you seems to think and it also mean that you
>>> >>>>>>> simply can't use the standard git tools in the Windows world like
>>> the
>>> >>>>>>> Github application or Tortoisegit without speaking or any EDI git
>>> >>>>>>> integration... so not it really can't be seen as some obvious
>>> >>>>>>> solution. And it's not like using Cygwin was some king of standard
>>> for
>>> >>>>>>> Windows dev. "use cyggwin" is easy to say but the reality is that a
>>> >>>>>>> dev will try to clone XWiki repository with the git tool he is
>>> used to
>>> >>>>>>> and will simply can't, period.
>>> >>>>>>
>>> >>>>>> What I'm saying is that I don't think it's worth the effort. By
>>> worth I mean the ratio between the effort and problems it'll require from
>>> us vs the # of windows dev not using cygwin that'll want to develop for the
>>> xwiki project...
>>> >>>>>
>>> >>>>> But this is why we have a democracy and not a dictatorship. If the
>>> >>>>> community considers it is worth the effort, and at least some devs
>>> are
>>> >>>>> willing to work on this, then I think it's their right to do this.
>>> >>>>
>>> >>>> 1) You should re-read the governance. It's a meritocracy, i.e we vote
>>> important changes and devs need to be ok. So if one or a few devs want to
>>> do this but some other don't for some valid reason then it's not going to
>>> happen until we reach a decision.
>>> >>>>
>>> >>>> 2) It's all the devs that will bear the cost of maintaining the new
>>> environment, no just the dev who's willing to do the initial work.
>>> >>>>
>>> >>>> BTW none of us work on a windows environment and I think it's a bad
>>> idea to implement support for something that we never use. It can only lead
>>> to something that gets broken frequently. To overcome this we'd need some
>>> windows agent and this means supporting that agent and making sure it works
>>> all the time (we tried in the past and failed for a very simple reason:
>>> none of the devs use windows and thus we don't care).
>>> >>>>
>>> >>>>> It's not a good move to veto the will of the community.
>>> >>>>
>>> >>>> Again (in case you didn't understand) I'm ok on the principle of
>>> doing this move but doing cowboy-coding without thinking about the
>>> consequences and letting other fix your stuff by only doing half of the
>>> work isn't my preferred style...
>>> >>>>
>>> >>>> We've had enough bad examples of the dev environment being broken for
>>> week(s not so long ago that it's normal to want to be careful...
>>> >>>>
>>> >>>>> Anyway, there are other reasons to make the change, not just Windows
>>> >>>>> compatibility. It saves about 2 seconds each time a dev wants to go
>>> to a
>>> >>>>> directory from the command line. Going into one subdirectory means
>>> >>>>> having to press "x tab <right prefix of the submodule> tab". The
>>> first
>>> >>>>> two keys are superfluous since they're the same all the time. The
>>> deeper
>>> >>>>> the hierarchy, the longer the time it takes to go there. It adds up
>>> to
>>> >>>>> more than an hour wasted per year per dev, and I don't think it will
>>> >>>>> really take a whole month of every dev to do the migration. If
>>> everybody
>>> >>>>> contributes and we do a systematic effort, it could be done in an
>>> hour
>>> >>>>> with the right planning.
>>> >>>>
>>> >>>> So to reiterate and to be constructive, before we start any actual
>>> work on this I'd like that we do more evaluation. This means:
>>> >>>> * see a list of windows coders who have expressed a need (apart from
>>> Florin who I know already) and who have a real will to participate after
>>> the move. Do we have at least one?
>>> >>
>>> >> This is not just about Windows. The committers that vote +1 vote for
>>> >> their own environment, not just to fix a problem for hypothetical
>>> >> contributors.
>>> >>
>>> >> And it's not about improving something for existing contributors, but
>>> >> removing a blocker standing in the way of future contributors. The
>>> >> easier it is for a new potential community member to join, the more of
>>> >> these tentative users will actually stick around. And XWiki isn't
>>> >> overwhelmed by the number of contributors to afford to voluntarily keep
>>> >> out those not motivated enough to actually try to find out why the
>>> >> checkout fails and what needs to be done to actually have a working
>>> >> environment and go through all the painful process of installing cygwin
>>> >> and the the command line tools that work with cygwin.
>>> >>
>>> >>>> * that we list what needs to be done precisely. I've identified some
>>> so far:
>>> >>>> ** the git path changes
>>> >>>> ** modify all the xwiki.org pages linking to code
>>> >>>> ** git history, will we loose ability to see history of files?
>>> >>
>>> >> Not really. In some cases we might have to add --find-copies-harder to
>>> >> some commands, but it should work out of the box for most files.
>>> >>
>>> >> Viewing the commits that affect a file on GitHub might not list pre-move
>>> >> commits, but the history will s
>>> >>
>>> >>>> ** others?
>>> >>
>>> >> * The move will break uncommitted local changes, so all devs should try
>>> >> to commit their local changes, at least in a separate local branch if
>>> >> not on github. But devs shouldn't keep uncommitted changes anyway,
>>> right?
>>> >>
>>> >> * Depending on how they're configured, our IDEs might freak out when
>>> >> pulling for the first time, since everything will be moved around.
>>> >>
>>> >> * Existing pull request should still work, but Jira patches will break;
>>> >> they're probably broken already anyway, since we didn't really allow new
>>> >> patches to be put there for a while, and most of the paths have changed
>>> >> since 1-2 years ago.
>>> >>
>>> >> * Does anything on Jenkins depend on paths? I hope not, configurations
>>> >> use module names, and they will continue to point to the right POM.
>>> >>
>>> >> * I guess this still counts as xwiki.org changes, but we should make
>>> >> sure the pages that work with remote files, like the syntax
>>> >> documentation and syntax completion report, will also need to be
>>> updated.
>>> >>
>>> >> * Existing links in emails (and other places with answers like
>>> >> stackoverlow) will be broken, but that already happens whenever we move
>>> >> a module, for example to make room for api+ui+test submodules, and this
>>> >> happened a lot recently, so it's not a new problem.
>>> >>
>>> >> * Most annoying: forgetting our own reflex of typing x+tab when changing
>>> >> the path :-)
>>> >>
>>> >>> ** what happens to the JIRA links to commits in the Commits tab? Will
>>> they still work?
>>> >>
>>> >> Yes, the existing commits will not change.
>>> >>
>>> >>> Thanks
>>> >>> -Vincent
>>> >>>
>>> >>>> * to list who is ok to participate actively in the move
>>> >>>> * that we agree on a date so that it doesn't impact our planned
>>> roadmap
>>> >>>>
>>> >>>> Thanks
>>> >>>> -Vincent
>>> >>>>
>>> >>>>>> We're going to loose at least a month before we've finished that
>>> migration completely and I'm really worried about the toll it'll have on
>>> our releases...
>>> >>>>>>
>>> >>>>>> Thanks
>>> >>>>>> -Vincent
>>> >>>>>>
>>> >>>>>> PS: With the same group effort we could release a first version of
>>> the new model for example ;)
>>> >>>>>>
>>> >
>>> > _______________________________________________
>>> > devs mailing list
>>> > [email protected]
>>> > http://lists.xwiki.org/mailman/listinfo/devs
>>>
>>>
>>>
>>> --
>>> Thomas Mortagne
>>> _______________________________________________
>>> devs mailing list
>>> [email protected]
>>> http://lists.xwiki.org/mailman/listinfo/devs
>>>
>> _______________________________________________
>> devs mailing list
>> [email protected]
>> http://lists.xwiki.org/mailman/listinfo/devs
>
>
>
> --
> Thomas Mortagne



-- 
Thomas Mortagne
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to