Commit graph

43027 commits

Author SHA1 Message Date
yarikoptic
3babe84e46 initial report on newlines fiasco 2023-03-08 14:41:56 +00:00
yarikoptic
68632e6f22 initial report on deficiency of copy --from --to 2023-03-08 04:16:15 +00:00
yarikoptic
2aa54cff2a FTBFS bug report 2023-03-07 21:17:04 +00:00
Joey Hess
f1f2588b72
open bug 2023-03-06 13:05:02 -04:00
Joey Hess
50185da5df
comment 2023-03-06 12:39:59 -04:00
Joey Hess
175091da90
comment 2023-03-06 12:27:39 -04:00
Joey Hess
efd5bfa72d
re-close with comment 2023-03-06 12:25:39 -04:00
Joey Hess
433608753a
further fix windows build
Thanks to jkniiv for this patch.
2023-03-06 12:15:53 -04:00
Joey Hess
89373c04bb
Merge branch 'master' of ssh://git-annex.branchable.com 2023-03-06 12:13:29 -04:00
Joey Hess
c622b3ee9c
update 2023-03-05 17:37:34 -04:00
jkniiv
f9deee36c7 Added a comment 2023-03-05 20:18:02 +00:00
benibilme
4b1a7e4d9e Added a comment: Hello, 2023-03-05 20:04:03 +00:00
derphysiker
d1ce91dfff Added a comment 2023-03-04 20:45:48 +00:00
derphysiker
0da1d11db6 2023-03-04 20:38:49 +00:00
jkniiv
04b70c093d retitle bug report now that it's reopened 2023-03-04 19:36:13 +00:00
jkniiv
19c09af793 reopen bug, 2nd try -- now with backslashes :) 2023-03-04 19:33:13 +00:00
jkniiv
a8437ebe13 reopen bug -- the fix Joey committed didn't build 2023-03-04 19:29:21 +00:00
jkniiv
771fb186cc Added a comment: ok, that didn't quite resolve it 2023-03-04 19:15:32 +00:00
derphysiker
c0a8e789c5 Added a comment 2023-03-04 11:11:27 +00:00
benibilme
d58d21dd73 2023-03-04 07:56:58 +00:00
benibilme
81ed1bfed5 2023-03-04 07:55:02 +00:00
benibilme
3a7d8360ed 2023-03-04 07:47:02 +00:00
benibilme
510ee11ad4 2023-03-04 07:41:57 +00:00
benibilme
88c21dec56 2023-03-04 07:39:03 +00:00
benibilme
a725abee55 2023-03-04 07:37:46 +00:00
benibilme
061312db23 2023-03-04 07:36:06 +00:00
Joey Hess
f3cee94148
fix build on OSX
This is built when building Setuo, and after
54ad1b4cfb, such modules cannot import
Utility.Directory, because it depends on unix, which is not in
setup-depends. This module only needs System.Directory, so import
Utility.SystemDirectory instead.

Sponsored-by: Dartmouth College's Datalad project
2023-03-03 13:20:49 -04:00
Joey Hess
398633c12b
fix build on windows 2023-03-03 12:58:39 -04:00
Joey Hess
3b0cedf15a
Merge branch 'master' of ssh://git-annex.branchable.com 2023-03-03 12:55:01 -04:00
jkniiv
1ad48b1938 report on windows build failure (commit 54ad1b4cf) 2023-03-02 20:03:18 +00:00
Joey Hess
33a05a1a91
small RawFilePath optimisation 2023-03-02 10:53:12 -04:00
Joey Hess
83a3786851
comment 2023-03-01 15:58:47 -04:00
Joey Hess
54ad1b4cfb
Windows: Support long filenames in more (possibly all) of the code
Works around this bug in unix-compat:
https://github.com/jacobstanley/unix-compat/issues/56
getFileStatus and other FilePath using functions in unix-compat do not do
UNC conversion on Windows.

Made Utility.RawFilePath use convertToWindowsNativeNamespace to do the
necessary conversion on windows to support long filenames.

Audited all imports of System.PosixCompat.Files to make sure that no
functions that operate on FilePath were imported from it. Instead, use
the equvilants from Utility.RawFilePath. In particular the
re-export of that module in Common had to be removed, which led to lots
of other changes throughout the code.

The changes to Build.Configure, Build.DesktopFile, and Build.TestConfig
make Utility.Directory not be needed to build setup. And so let it use
Utility.RawFilePath, which depends on unix, which cannot be in
setup-depends.

Sponsored-by: Dartmouth College's Datalad project
2023-03-01 15:55:58 -04:00
Joey Hess
505f1a654b
avoid using Utility.Path.AbsRel in Utility.Path.Windows
AbsRel depends on unix, but Utility.Path.Windows will be used in some
libraries that are part of the setup-depends, which cannot depend on
unix.

The only reason that AbsRel uses getWorkingDirectory on unix is that
it returns RawFilePath. getCurrentDirectory returns FilePath and so
needs a conversion to RawFilePath. Looks like a newer version of
directory will fix that, by using OsPath, so eventually AbsPath should
be able to switch to using getCurrentDirectory on unix, and then the
small code duplication in this commit won't be needed.

Sponsored-by: Dartmouth College's Datalad project
2023-03-01 14:01:33 -04:00
Joey Hess
3c08af0da1
factor out convertToWindowsNativeNamespace into its own module
Gonna use this more widely.

Sponsored-by: Dartmouth College's Datalad project
2023-03-01 13:28:39 -04:00
Joey Hess
9417bdab14
comment 2023-03-01 13:04:18 -04:00
Joey Hess
bded62378a
close 2023-03-01 12:34:40 -04:00
Joey Hess
70d89456d2
close 2023-03-01 12:22:38 -04:00
Joey Hess
9c3c4c1712
deprecate git-annex status w/o runtime warning
As far as I can see, git-annex status was added to support direct mode, and
like other things added for that, it ought to be deprecated.

Behavior is similar to git status --short, though not identical in a few
cases eg renamed files.

I think datalad does not use this command, although it might have in the
past. Could not find any use of it in the current datalad code.

A deprecation warning at runtime would be the next step, probably will wait
and do that for all the deprecated commands together (except findref).
2023-02-28 16:34:31 -04:00
mih
3bf2d98e9c Added a comment: Update for git-annex 10.20230227-ga206cdddb4 2023-02-28 15:35:50 +00:00
Joey Hess
c569082cf2
devblog 2023-02-27 16:28:26 -04:00
Joey Hess
9fcaf27cba
done with adjusted view branches!
Well, perhaps it could be documented better, but it's a compositional
feature so users who need it will probably try it and be happy to find
that it works.
2023-02-27 15:55:31 -04:00
Joey Hess
80478cc145
support git-annex view in an adjusted branch
Rather than entering a view of the adjusted branch, enter an adjusted
view branch. This way, it's the same as first using git-amnnex view
followed by git-annex adjust, and everything already implemented to
support that works.

Sponsored-by: Nicholas Golder-Manning on Patreon
2023-02-27 15:48:58 -04:00
Joey Hess
bb54c8a633
support --hide-missing adjustment of view branches
I had thought this would not make sense to combine with view branches,
since removing files from a view changes metadata.

However, that's committing removal of files. With --hide-missing, the
files get removed when git-annex updates the branch itself, so there is
no conflict.

It does not seem likely to be very useful, but it does work! And that's
nice because it means all types of adjusted branches can be combined with
view branches.

Sponsored-by: Max Thoursie on Patreon
2023-02-27 15:39:58 -04:00
Joey Hess
1c4f4b449a
support --unlock-present adjustment of view branches
When generating the view, check if the key is present.

When syncing in a view branch with an adjustment, run adjustedBranchRefreshFull
the same as is done when syncing in other adjusted branches. This is
needed because the docs for git-annex adjust --unlock-present suggest
using git-annex sync to update the branch when annex.adjustedbranchrefresh
is not set.

Note that, with annex.adjustedbranchrefresh set, it just works! The
adjusted branch gets updated in the usual way and it doesn't matter that
there's a view branch underneath.

And of course, re-running git-annex adjut --unlock-present also works,
as suggested in the docs.

Sponsored-by: Erik Bjäreholt on Patreon
2023-02-27 15:37:57 -04:00
Joey Hess
7d839176c3
support generation of unlocked views
Just make pointer files rather than symlinks, easy.

As for the other adjustments:
--lock is the default for views
--fix happens automatically in views
--hide-missing probably does not make sense when combined with views,
because deleting a file from a view removes metadata
--unlock-present will need a bit more work
2023-02-27 15:07:36 -04:00
Joey Hess
f09e299156
rawfilepath conversion 2023-02-27 15:06:32 -04:00
Joey Hess
cc32e31161
understand adjusted view branch names
An adjusted view branch has a name like
"refs/heads/adjusted/views/master(author=_)(unlocked)", so it is a view
branch that has been converted to an adjusted branch.

Made Logs.View support such branch names. So now git-annex sync and
pre-commit handle updating metadata on commit in such a branch.

Much remains to be done to fully support adjusted view branches,
including actually applying the adjustment when updating the view branch.

Sponsored-by: Graham Spencer on Patreon
2023-02-27 14:57:58 -04:00
Joey Hess
2a966f49f2
overwrite old adjusted view branch
When git-annex adjust is run in a view branch, and the adjusted branch
already exists, overwrite the old adjusted branch with the new one
without being forced.

Usually overwriting an adjusted branch is avoided because it could lose
data. But when a view branch has been adjusted, there is no data to lose
in the adjusted branch, because the only changes that can be made of
significance are to move files between directories. Which changes
metadata on commit. And the old branch has already been committed.

Sponsored-by: Lawrence Brogan on Patreon
2023-02-27 14:35:27 -04:00
Joey Hess
9b1fe37818
improve adjusted branch name parsing to support adjusted view branches
An adjusted view branch has a name like
"adjusted/views/master(author=_)(unlocked)"
and so the adjustment starts at the last open paren, not the first open
paren.

Note that git-annex sync still does not do anything useful when run in
such a branch, because it does not realize that it is a view branch.
This is only groundwork for adjusted view branches.

This also fixes adjusted branches when the basis branch name contains
parens for some other reason, though that is not common in a git branch
name.

Sponsored-by: Boyd Stephen Smith Jr. on Patreon
2023-02-27 14:09:05 -04:00