summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2020-07-07 23:14:15 -0700
committerSean Whitton <spwhitton@spwhitton.name>2020-07-07 23:14:15 -0700
commit6d34843d20c71d66171920fe50710d8a4c0e3b5e (patch)
tree733af36bd0125426470fee825d36e9da717acb81
parent34ee688a518cebb1ea95fcbb4d3226ed064c172f (diff)
[dgit (9.10~bpo10+1) quilt-fixup]
-rw-r--r--debian/patches/debian-changes1618
-rw-r--r--debian/patches/series1
2 files changed, 0 insertions, 1619 deletions
diff --git a/debian/patches/debian-changes b/debian/patches/debian-changes
deleted file mode 100644
index 07b4b66..0000000
--- a/debian/patches/debian-changes
+++ /dev/null
@@ -1,1618 +0,0 @@
-The Debian packaging of magit-annex is maintained using dgit. For the
-sake of an efficient workflow, Debian modifications to the upstream
-source are squashed into a single diff, rather than a series of quilt
-patches. To obtain a patch queue for package version 1.2.3-1:
-
- # apt-get install dgit
- % dgit clone magit-annex
- % cd magit-annex
- % git log --oneline 1.2.3..debian/1.2.3-1 -- . ':!debian'
-
-See dgit(1), dgit(7) and dgit-maint-merge(7) for more information.
---- magit-annex-1.7.1+git20200427.1.ef5dce62.orig/.travis.yml
-+++ magit-annex-1.7.1+git20200427.1.ef5dce62/.travis.yml
-@@ -4,6 +4,7 @@ env:
- global:
- - CURL="curl -fsSkL --retry 9 --retry-delay 9"
- - GHRAW="https://raw.githubusercontent.com"
-+ - BUILD_MAGIT_LIBGIT="false"
- matrix:
- - EMACS_VERSION=25.1
- - EMACS_VERSION=master
-@@ -21,13 +22,9 @@ install:
- - git clone --quiet https://github.com/magit/magit.git
- - cd magit
- - $CURL -O ${GHRAW}/magnars/dash.el/master/dash.el
-- - $CURL -O ${GHRAW}/magit/ghub/master/ghub.el
-- - $CURL -O ${GHRAW}/magit/ghub/master/ghub-graphql.el
-- - $CURL -O ${GHRAW}/vermiculus/graphql.el/master/graphql.el
-- - $CURL -O ${GHRAW}/magit/magit-popup/master/magit-popup.el
-- - $CURL -O ${GHRAW}/volrath/treepy.el/master/treepy.el
-+ - $CURL -O ${GHRAW}/magit/transient/master/lisp/transient.el
- - $CURL -O ${GHRAW}/magit/with-editor/master/with-editor.el
-- - $EMACS -Q --batch -L . -f batch-byte-compile dash.el ghub.el ghub-graphql.el graphql.el magit-popup.el treepy.el with-editor.el
-+ - $EMACS -Q --batch -L . -f batch-byte-compile dash.el transient.el with-editor.el
- - make lisp EMACSBIN=$EMACS DASH_DIR=$PWD
- - cd ..
- - git annex version
---- /dev/null
-+++ magit-annex-1.7.1+git20200427.1.ef5dce62/COPYING
-@@ -0,0 +1,674 @@
-+ GNU GENERAL PUBLIC LICENSE
-+ Version 3, 29 June 2007
-+
-+ Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
-+ Everyone is permitted to copy and distribute verbatim copies
-+ of this license document, but changing it is not allowed.
-+
-+ Preamble
-+
-+ The GNU General Public License is a free, copyleft license for
-+software and other kinds of works.
-+
-+ The licenses for most software and other practical works are designed
-+to take away your freedom to share and change the works. By contrast,
-+the GNU General Public License is intended to guarantee your freedom to
-+share and change all versions of a program--to make sure it remains free
-+software for all its users. We, the Free Software Foundation, use the
-+GNU General Public License for most of our software; it applies also to
-+any other work released this way by its authors. You can apply it to
-+your programs, too.
-+
-+ When we speak of free software, we are referring to freedom, not
-+price. Our General Public Licenses are designed to make sure that you
-+have the freedom to distribute copies of free software (and charge for
-+them if you wish), that you receive source code or can get it if you
-+want it, that you can change the software or use pieces of it in new
-+free programs, and that you know you can do these things.
-+
-+ To protect your rights, we need to prevent others from denying you
-+these rights or asking you to surrender the rights. Therefore, you have
-+certain responsibilities if you distribute copies of the software, or if
-+you modify it: responsibilities to respect the freedom of others.
-+
-+ For example, if you distribute copies of such a program, whether
-+gratis or for a fee, you must pass on to the recipients the same
-+freedoms that you received. You must make sure that they, too, receive
-+or can get the source code. And you must show them these terms so they
-+know their rights.
-+
-+ Developers that use the GNU GPL protect your rights with two steps:
-+(1) assert copyright on the software, and (2) offer you this License
-+giving you legal permission to copy, distribute and/or modify it.
-+
-+ For the developers' and authors' protection, the GPL clearly explains
-+that there is no warranty for this free software. For both users' and
-+authors' sake, the GPL requires that modified versions be marked as
-+changed, so that their problems will not be attributed erroneously to
-+authors of previous versions.
-+
-+ Some devices are designed to deny users access to install or run
-+modified versions of the software inside them, although the manufacturer
-+can do so. This is fundamentally incompatible with the aim of
-+protecting users' freedom to change the software. The systematic
-+pattern of such abuse occurs in the area of products for individuals to
-+use, which is precisely where it is most unacceptable. Therefore, we
-+have designed this version of the GPL to prohibit the practice for those
-+products. If such problems arise substantially in other domains, we
-+stand ready to extend this provision to those domains in future versions
-+of the GPL, as needed to protect the freedom of users.
-+
-+ Finally, every program is threatened constantly by software patents.
-+States should not allow patents to restrict development and use of
-+software on general-purpose computers, but in those that do, we wish to
-+avoid the special danger that patents applied to a free program could
-+make it effectively proprietary. To prevent this, the GPL assures that
-+patents cannot be used to render the program non-free.
-+
-+ The precise terms and conditions for copying, distribution and
-+modification follow.
-+
-+ TERMS AND CONDITIONS
-+
-+ 0. Definitions.
-+
-+ "This License" refers to version 3 of the GNU General Public License.
-+
-+ "Copyright" also means copyright-like laws that apply to other kinds of
-+works, such as semiconductor masks.
-+
-+ "The Program" refers to any copyrightable work licensed under this
-+License. Each licensee is addressed as "you". "Licensees" and
-+"recipients" may be individuals or organizations.
-+
-+ To "modify" a work means to copy from or adapt all or part of the work
-+in a fashion requiring copyright permission, other than the making of an
-+exact copy. The resulting work is called a "modified version" of the
-+earlier work or a work "based on" the earlier work.
-+
-+ A "covered work" means either the unmodified Program or a work based
-+on the Program.
-+
-+ To "propagate" a work means to do anything with it that, without
-+permission, would make you directly or secondarily liable for
-+infringement under applicable copyright law, except executing it on a
-+computer or modifying a private copy. Propagation includes copying,
-+distribution (with or without modification), making available to the
-+public, and in some countries other activities as well.
-+
-+ To "convey" a work means any kind of propagation that enables other
-+parties to make or receive copies. Mere interaction with a user through
-+a computer network, with no transfer of a copy, is not conveying.
-+
-+ An interactive user interface displays "Appropriate Legal Notices"
-+to the extent that it includes a convenient and prominently visible
-+feature that (1) displays an appropriate copyright notice, and (2)
-+tells the user that there is no warranty for the work (except to the
-+extent that warranties are provided), that licensees may convey the
-+work under this License, and how to view a copy of this License. If
-+the interface presents a list of user commands or options, such as a
-+menu, a prominent item in the list meets this criterion.
-+
-+ 1. Source Code.
-+
-+ The "source code" for a work means the preferred form of the work
-+for making modifications to it. "Object code" means any non-source
-+form of a work.
-+
-+ A "Standard Interface" means an interface that either is an official
-+standard defined by a recognized standards body, or, in the case of
-+interfaces specified for a particular programming language, one that
-+is widely used among developers working in that language.
-+
-+ The "System Libraries" of an executable work include anything, other
-+than the work as a whole, that (a) is included in the normal form of
-+packaging a Major Component, but which is not part of that Major
-+Component, and (b) serves only to enable use of the work with that
-+Major Component, or to implement a Standard Interface for which an
-+implementation is available to the public in source code form. A
-+"Major Component", in this context, means a major essential component
-+(kernel, window system, and so on) of the specific operating system
-+(if any) on which the executable work runs, or a compiler used to
-+produce the work, or an object code interpreter used to run it.
-+
-+ The "Corresponding Source" for a work in object code form means all
-+the source code needed to generate, install, and (for an executable
-+work) run the object code and to modify the work, including scripts to
-+control those activities. However, it does not include the work's
-+System Libraries, or general-purpose tools or generally available free
-+programs which are used unmodified in performing those activities but
-+which are not part of the work. For example, Corresponding Source
-+includes interface definition files associated with source files for
-+the work, and the source code for shared libraries and dynamically
-+linked subprograms that the work is specifically designed to require,
-+such as by intimate data communication or control flow between those
-+subprograms and other parts of the work.
-+
-+ The Corresponding Source need not include anything that users
-+can regenerate automatically from other parts of the Corresponding
-+Source.
-+
-+ The Corresponding Source for a work in source code form is that
-+same work.
-+
-+ 2. Basic Permissions.
-+
-+ All rights granted under this License are granted for the term of
-+copyright on the Program, and are irrevocable provided the stated
-+conditions are met. This License explicitly affirms your unlimited
-+permission to run the unmodified Program. The output from running a
-+covered work is covered by this License only if the output, given its
-+content, constitutes a covered work. This License acknowledges your
-+rights of fair use or other equivalent, as provided by copyright law.
-+
-+ You may make, run and propagate covered works that you do not
-+convey, without conditions so long as your license otherwise remains
-+in force. You may convey covered works to others for the sole purpose
-+of having them make modifications exclusively for you, or provide you
-+with facilities for running those works, provided that you comply with
-+the terms of this License in conveying all material for which you do
-+not control copyright. Those thus making or running the covered works
-+for you must do so exclusively on your behalf, under your direction
-+and control, on terms that prohibit them from making any copies of
-+your copyrighted material outside their relationship with you.
-+
-+ Conveying under any other circumstances is permitted solely under
-+the conditions stated below. Sublicensing is not allowed; section 10
-+makes it unnecessary.
-+
-+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-+
-+ No covered work shall be deemed part of an effective technological
-+measure under any applicable law fulfilling obligations under article
-+11 of the WIPO copyright treaty adopted on 20 December 1996, or
-+similar laws prohibiting or restricting circumvention of such
-+measures.
-+
-+ When you convey a covered work, you waive any legal power to forbid
-+circumvention of technological measures to the extent such circumvention
-+is effected by exercising rights under this License with respect to
-+the covered work, and you disclaim any intention to limit operation or
-+modification of the work as a means of enforcing, against the work's
-+users, your or third parties' legal rights to forbid circumvention of
-+technological measures.
-+
-+ 4. Conveying Verbatim Copies.
-+
-+ You may convey verbatim copies of the Program's source code as you
-+receive it, in any medium, provided that you conspicuously and
-+appropriately publish on each copy an appropriate copyright notice;
-+keep intact all notices stating that this License and any
-+non-permissive terms added in accord with section 7 apply to the code;
-+keep intact all notices of the absence of any warranty; and give all
-+recipients a copy of this License along with the Program.
-+
-+ You may charge any price or no price for each copy that you convey,
-+and you may offer support or warranty protection for a fee.
-+
-+ 5. Conveying Modified Source Versions.
-+
-+ You may convey a work based on the Program, or the modifications to
-+produce it from the Program, in the form of source code under the
-+terms of section 4, provided that you also meet all of these conditions:
-+
-+ a) The work must carry prominent notices stating that you modified
-+ it, and giving a relevant date.
-+
-+ b) The work must carry prominent notices stating that it is
-+ released under this License and any conditions added under section
-+ 7. This requirement modifies the requirement in section 4 to
-+ "keep intact all notices".
-+
-+ c) You must license the entire work, as a whole, under this
-+ License to anyone who comes into possession of a copy. This
-+ License will therefore apply, along with any applicable section 7
-+ additional terms, to the whole of the work, and all its parts,
-+ regardless of how they are packaged. This License gives no
-+ permission to license the work in any other way, but it does not
-+ invalidate such permission if you have separately received it.
-+
-+ d) If the work has interactive user interfaces, each must display
-+ Appropriate Legal Notices; however, if the Program has interactive
-+ interfaces that do not display Appropriate Legal Notices, your
-+ work need not make them do so.
-+
-+ A compilation of a covered work with other separate and independent
-+works, which are not by their nature extensions of the covered work,
-+and which are not combined with it such as to form a larger program,
-+in or on a volume of a storage or distribution medium, is called an
-+"aggregate" if the compilation and its resulting copyright are not
-+used to limit the access or legal rights of the compilation's users
-+beyond what the individual works permit. Inclusion of a covered work
-+in an aggregate does not cause this License to apply to the other
-+parts of the aggregate.
-+
-+ 6. Conveying Non-Source Forms.
-+
-+ You may convey a covered work in object code form under the terms
-+of sections 4 and 5, provided that you also convey the
-+machine-readable Corresponding Source under the terms of this License,
-+in one of these ways:
-+
-+ a) Convey the object code in, or embodied in, a physical product
-+ (including a physical distribution medium), accompanied by the
-+ Corresponding Source fixed on a durable physical medium
-+ customarily used for software interchange.
-+
-+ b) Convey the object code in, or embodied in, a physical product
-+ (including a physical distribution medium), accompanied by a
-+ written offer, valid for at least three years and valid for as
-+ long as you offer spare parts or customer support for that product
-+ model, to give anyone who possesses the object code either (1) a
-+ copy of the Corresponding Source for all the software in the
-+ product that is covered by this License, on a durable physical
-+ medium customarily used for software interchange, for a price no
-+ more than your reasonable cost of physically performing this
-+ conveying of source, or (2) access to copy the
-+ Corresponding Source from a network server at no charge.
-+
-+ c) Convey individual copies of the object code with a copy of the
-+ written offer to provide the Corresponding Source. This
-+ alternative is allowed only occasionally and noncommercially, and
-+ only if you received the object code with such an offer, in accord
-+ with subsection 6b.
-+
-+ d) Convey the object code by offering access from a designated
-+ place (gratis or for a charge), and offer equivalent access to the
-+ Corresponding Source in the same way through the same place at no
-+ further charge. You need not require recipients to copy the
-+ Corresponding Source along with the object code. If the place to
-+ copy the object code is a network server, the Corresponding Source
-+ may be on a different server (operated by you or a third party)
-+ that supports equivalent copying facilities, provided you maintain
-+ clear directions next to the object code saying where to find the
-+ Corresponding Source. Regardless of what server hosts the
-+ Corresponding Source, you remain obligated to ensure that it is
-+ available for as long as needed to satisfy these requirements.
-+
-+ e) Convey the object code using peer-to-peer transmission, provided
-+ you inform other peers where the object code and Corresponding
-+ Source of the work are being offered to the general public at no
-+ charge under subsection 6d.
-+
-+ A separable portion of the object code, whose source code is excluded
-+from the Corresponding Source as a System Library, need not be
-+included in conveying the object code work.
-+
-+ A "User Product" is either (1) a "consumer product", which means any
-+tangible personal property which is normally used for personal, family,
-+or household purposes, or (2) anything designed or sold for incorporation
-+into a dwelling. In determining whether a product is a consumer product,
-+doubtful cases shall be resolved in favor of coverage. For a particular
-+product received by a particular user, "normally used" refers to a
-+typical or common use of that class of product, regardless of the status
-+of the particular user or of the way in which the particular user
-+actually uses, or expects or is expected to use, the product. A product
-+is a consumer product regardless of whether the product has substantial
-+commercial, industrial or non-consumer uses, unless such uses represent
-+the only significant mode of use of the product.
-+
-+ "Installation Information" for a User Product means any methods,
-+procedures, authorization keys, or other information required to install
-+and execute modified versions of a covered work in that User Product from
-+a modified version of its Corresponding Source. The information must
-+suffice to ensure that the continued functioning of the modified object
-+code is in no case prevented or interfered with solely because
-+modification has been made.
-+
-+ If you convey an object code work under this section in, or with, or
-+specifically for use in, a User Product, and the conveying occurs as
-+part of a transaction in which the right of possession and use of the
-+User Product is transferred to the recipient in perpetuity or for a
-+fixed term (regardless of how the transaction is characterized), the
-+Corresponding Source conveyed under this section must be accompanied
-+by the Installation Information. But this requirement does not apply
-+if neither you nor any third party retains the ability to install
-+modified object code on the User Product (for example, the work has
-+been installed in ROM).
-+
-+ The requirement to provide Installation Information does not include a
-+requirement to continue to provide support service, warranty, or updates
-+for a work that has been modified or installed by the recipient, or for
-+the User Product in which it has been modified or installed. Access to a
-+network may be denied when the modification itself materially and
-+adversely affects the operation of the network or violates the rules and
-+protocols for communication across the network.
-+
-+ Corresponding Source conveyed, and Installation Information provided,
-+in accord with this section must be in a format that is publicly
-+documented (and with an implementation available to the public in
-+source code form), and must require no special password or key for
-+unpacking, reading or copying.
-+
-+ 7. Additional Terms.
-+
-+ "Additional permissions" are terms that supplement the terms of this
-+License by making exceptions from one or more of its conditions.
-+Additional permissions that are applicable to the entire Program shall
-+be treated as though they were included in this License, to the extent
-+that they are valid under applicable law. If additional permissions
-+apply only to part of the Program, that part may be used separately
-+under those permissions, but the entire Program remains governed by
-+this License without regard to the additional permissions.
-+
-+ When you convey a copy of a covered work, you may at your option
-+remove any additional permissions from that copy, or from any part of
-+it. (Additional permissions may be written to require their own
-+removal in certain cases when you modify the work.) You may place
-+additional permissions on material, added by you to a covered work,
-+for which you have or can give appropriate copyright permission.
-+
-+ Notwithstanding any other provision of this License, for material you
-+add to a covered work, you may (if authorized by the copyright holders of
-+that material) supplement the terms of this License with terms:
-+
-+ a) Disclaiming warranty or limiting liability differently from the
-+ terms of sections 15 and 16 of this License; or
-+
-+ b) Requiring preservation of specified reasonable legal notices or
-+ author attributions in that material or in the Appropriate Legal
-+ Notices displayed by works containing it; or
-+
-+ c) Prohibiting misrepresentation of the origin of that material, or
-+ requiring that modified versions of such material be marked in
-+ reasonable ways as different from the original version; or
-+
-+ d) Limiting the use for publicity purposes of names of licensors or
-+ authors of the material; or
-+
-+ e) Declining to grant rights under trademark law for use of some
-+ trade names, trademarks, or service marks; or
-+
-+ f) Requiring indemnification of licensors and authors of that
-+ material by anyone who conveys the material (or modified versions of
-+ it) with contractual assumptions of liability to the recipient, for
-+ any liability that these contractual assumptions directly impose on
-+ those licensors and authors.
-+
-+ All other non-permissive additional terms are considered "further
-+restrictions" within the meaning of section 10. If the Program as you
-+received it, or any part of it, contains a notice stating that it is
-+governed by this License along with a term that is a further
-+restriction, you may remove that term. If a license document contains
-+a further restriction but permits relicensing or conveying under this
-+License, you may add to a covered work material governed by the terms
-+of that license document, provided that the further restriction does
-+not survive such relicensing or conveying.
-+
-+ If you add terms to a covered work in accord with this section, you
-+must place, in the relevant source files, a statement of the
-+additional terms that apply to those files, or a notice indicating
-+where to find the applicable terms.
-+
-+ Additional terms, permissive or non-permissive, may be stated in the
-+form of a separately written license, or stated as exceptions;
-+the above requirements apply either way.
-+
-+ 8. Termination.
-+
-+ You may not propagate or modify a covered work except as expressly
-+provided under this License. Any attempt otherwise to propagate or
-+modify it is void, and will automatically terminate your rights under
-+this License (including any patent licenses granted under the third
-+paragraph of section 11).
-+
-+ However, if you cease all violation of this License, then your
-+license from a particular copyright holder is reinstated (a)
-+provisionally, unless and until the copyright holder explicitly and
-+finally terminates your license, and (b) permanently, if the copyright
-+holder fails to notify you of the violation by some reasonable means
-+prior to 60 days after the cessation.
-+
-+ Moreover, your license from a particular copyright holder is
-+reinstated permanently if the copyright holder notifies you of the
-+violation by some reasonable means, this is the first time you have
-+received notice of violation of this License (for any work) from that
-+copyright holder, and you cure the violation prior to 30 days after
-+your receipt of the notice.
-+
-+ Termination of your rights under this section does not terminate the
-+licenses of parties who have received copies or rights from you under
-+this License. If your rights have been terminated and not permanently
-+reinstated, you do not qualify to receive new licenses for the same
-+material under section 10.
-+
-+ 9. Acceptance Not Required for Having Copies.
-+
-+ You are not required to accept this License in order to receive or
-+run a copy of the Program. Ancillary propagation of a covered work
-+occurring solely as a consequence of using peer-to-peer transmission
-+to receive a copy likewise does not require acceptance. However,
-+nothing other than this License grants you permission to propagate or
-+modify any covered work. These actions infringe copyright if you do
-+not accept this License. Therefore, by modifying or propagating a
-+covered work, you indicate your acceptance of this License to do so.
-+
-+ 10. Automatic Licensing of Downstream Recipients.
-+
-+ Each time you convey a covered work, the recipient automatically
-+receives a license from the original licensors, to run, modify and
-+propagate that work, subject to this License. You are not responsible
-+for enforcing compliance by third parties with this License.
-+
-+ An "entity transaction" is a transaction transferring control of an
-+organization, or substantially all assets of one, or subdividing an
-+organization, or merging organizations. If propagation of a covered
-+work results from an entity transaction, each party to that
-+transaction who receives a copy of the work also receives whatever
-+licenses to the work the party's predecessor in interest had or could
-+give under the previous paragraph, plus a right to possession of the
-+Corresponding Source of the work from the predecessor in interest, if
-+the predecessor has it or can get it with reasonable efforts.
-+
-+ You may not impose any further restrictions on the exercise of the
-+rights granted or affirmed under this License. For example, you may
-+not impose a license fee, royalty, or other charge for exercise of
-+rights granted under this License, and you may not initiate litigation
-+(including a cross-claim or counterclaim in a lawsuit) alleging that
-+any patent claim is infringed by making, using, selling, offering for
-+sale, or importing the Program or any portion of it.
-+
-+ 11. Patents.
-+
-+ A "contributor" is a copyright holder who authorizes use under this
-+License of the Program or a work on which the Program is based. The
-+work thus licensed is called the contributor's "contributor version".
-+
-+ A contributor's "essential patent claims" are all patent claims
-+owned or controlled by the contributor, whether already acquired or
-+hereafter acquired, that would be infringed by some manner, permitted
-+by this License, of making, using, or selling its contributor version,
-+but do not include claims that would be infringed only as a
-+consequence of further modification of the contributor version. For
-+purposes of this definition, "control" includes the right to grant
-+patent sublicenses in a manner consistent with the requirements of
-+this License.
-+
-+ Each contributor grants you a non-exclusive, worldwide, royalty-free
-+patent license under the contributor's essential patent claims, to
-+make, use, sell, offer for sale, import and otherwise run, modify and
-+propagate the contents of its contributor version.
-+
-+ In the following three paragraphs, a "patent license" is any express
-+agreement or commitment, however denominated, not to enforce a patent
-+(such as an express permission to practice a patent or covenant not to
-+sue for patent infringement). To "grant" such a patent license to a
-+party means to make such an agreement or commitment not to enforce a
-+patent against the party.
-+
-+ If you convey a covered work, knowingly relying on a patent license,
-+and the Corresponding Source of the work is not available for anyone
-+to copy, free of charge and under the terms of this License, through a
-+publicly available network server or other readily accessible means,
-+then you must either (1) cause the Corresponding Source to be so
-+available, or (2) arrange to deprive yourself of the benefit of the
-+patent license for this particular work, or (3) arrange, in a manner
-+consistent with the requirements of this License, to extend the patent
-+license to downstream recipients. "Knowingly relying" means you have
-+actual knowledge that, but for the patent license, your conveying the
-+covered work in a country, or your recipient's use of the covered work
-+in a country, would infringe one or more identifiable patents in that
-+country that you have reason to believe are valid.
-+
-+ If, pursuant to or in connection with a single transaction or
-+arrangement, you convey, or propagate by procuring conveyance of, a
-+covered work, and grant a patent license to some of the parties
-+receiving the covered work authorizing them to use, propagate, modify
-+or convey a specific copy of the covered work, then the patent license
-+you grant is automatically extended to all recipients of the covered
-+work and works based on it.
-+
-+ A patent license is "discriminatory" if it does not include within
-+the scope of its coverage, prohibits the exercise of, or is
-+conditioned on the non-exercise of one or more of the rights that are
-+specifically granted under this License. You may not convey a covered
-+work if you are a party to an arrangement with a third party that is
-+in the business of distributing software, under which you make payment
-+to the third party based on the extent of your activity of conveying
-+the work, and under which the third party grants, to any of the
-+parties who would receive the covered work from you, a discriminatory
-+patent license (a) in connection with copies of the covered work
-+conveyed by you (or copies made from those copies), or (b) primarily
-+for and in connection with specific products or compilations that
-+contain the covered work, unless you entered into that arrangement,
-+or that patent license was granted, prior to 28 March 2007.
-+
-+ Nothing in this License shall be construed as excluding or limiting
-+any implied license or other defenses to infringement that may
-+otherwise be available to you under applicable patent law.
-+
-+ 12. No Surrender of Others' Freedom.
-+
-+ If conditions are imposed on you (whether by court order, agreement or
-+otherwise) that contradict the conditions of this License, they do not
-+excuse you from the conditions of this License. If you cannot convey a
-+covered work so as to satisfy simultaneously your obligations under this
-+License and any other pertinent obligations, then as a consequence you may
-+not convey it at all. For example, if you agree to terms that obligate you
-+to collect a royalty for further conveying from those to whom you convey
-+the Program, the only way you could satisfy both those terms and this
-+License would be to refrain entirely from conveying the Program.
-+
-+ 13. Use with the GNU Affero General Public License.
-+
-+ Notwithstanding any other provision of this License, you have
-+permission to link or combine any covered work with a work licensed
-+under version 3 of the GNU Affero General Public License into a single
-+combined work, and to convey the resulting work. The terms of this
-+License will continue to apply to the part which is the covered work,
-+but the special requirements of the GNU Affero General Public License,
-+section 13, concerning interaction through a network will apply to the
-+combination as such.
-+
-+ 14. Revised Versions of this License.
-+
-+ The Free Software Foundation may publish revised and/or new versions of
-+the GNU General Public License from time to time. Such new versions will
-+be similar in spirit to the present version, but may differ in detail to
-+address new problems or concerns.
-+
-+ Each version is given a distinguishing version number. If the
-+Program specifies that a certain numbered version of the GNU General
-+Public License "or any later version" applies to it, you have the
-+option of following the terms and conditions either of that numbered
-+version or of any later version published by the Free Software
-+Foundation. If the Program does not specify a version number of the
-+GNU General Public License, you may choose any version ever published
-+by the Free Software Foundation.
-+
-+ If the Program specifies that a proxy can decide which future
-+versions of the GNU General Public License can be used, that proxy's
-+public statement of acceptance of a version permanently authorizes you
-+to choose that version for the Program.
-+
-+ Later license versions may give you additional or different
-+permissions. However, no additional obligations are imposed on any
-+author or copyright holder as a result of your choosing to follow a
-+later version.
-+
-+ 15. Disclaimer of Warranty.
-+
-+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-+
-+ 16. Limitation of Liability.
-+
-+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-+SUCH DAMAGES.
-+
-+ 17. Interpretation of Sections 15 and 16.
-+
-+ If the disclaimer of warranty and limitation of liability provided
-+above cannot be given local legal effect according to their terms,
-+reviewing courts shall apply local law that most closely approximates
-+an absolute waiver of all civil liability in connection with the
-+Program, unless a warranty or assumption of liability accompanies a
-+copy of the Program in return for a fee.
-+
-+ END OF TERMS AND CONDITIONS
-+
-+ How to Apply These Terms to Your New Programs
-+
-+ If you develop a new program, and you want it to be of the greatest
-+possible use to the public, the best way to achieve this is to make it
-+free software which everyone can redistribute and change under these terms.
-+
-+ To do so, attach the following notices to the program. It is safest
-+to attach them to the start of each source file to most effectively
-+state the exclusion of warranty; and each file should have at least
-+the "copyright" line and a pointer to where the full notice is found.
-+
-+ <one line to give the program's name and a brief idea of what it does.>
-+ Copyright (C) <year> <name of author>
-+
-+ This program is free software: you can redistribute it and/or modify
-+ it under the terms of the GNU General Public License as published by
-+ the Free Software Foundation, either version 3 of the License, or
-+ (at your option) any later version.
-+
-+ This program is distributed in the hope that it will be useful,
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ GNU General Public License for more details.
-+
-+ You should have received a copy of the GNU General Public License
-+ along with this program. If not, see <https://www.gnu.org/licenses/>.
-+
-+Also add information on how to contact you by electronic and paper mail.
-+
-+ If the program does terminal interaction, make it output a short
-+notice like this when it starts in an interactive mode:
-+
-+ <program> Copyright (C) <year> <name of author>
-+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-+ This is free software, and you are welcome to redistribute it
-+ under certain conditions; type `show c' for details.
-+
-+The hypothetical commands `show w' and `show c' should show the appropriate
-+parts of the General Public License. Of course, your program's commands
-+might be different; for a GUI interface, you would use an "about box".
-+
-+ You should also get your employer (if you work as a programmer) or school,
-+if any, to sign a "copyright disclaimer" for the program, if necessary.
-+For more information on this, and how to apply and follow the GNU GPL, see
-+<https://www.gnu.org/licenses/>.
-+
-+ The GNU General Public License does not permit incorporating your program
-+into proprietary programs. If your program is a subroutine library, you
-+may consider it more useful to permit linking proprietary applications with
-+the library. If this is what you want to do, use the GNU Lesser General
-+Public License instead of this License. But first, please read
-+<https://www.gnu.org/licenses/why-not-lgpl.html>.
---- magit-annex-1.7.1+git20200427.1.ef5dce62.orig/Makefile
-+++ magit-annex-1.7.1+git20200427.1.ef5dce62/Makefile
-@@ -2,7 +2,8 @@
- -include config.mk
-
- MAGIT_DIR ?= /dev/null
--MAGIT_POPUP_DIR ?= /dev/null
-+LV_DIR ?= /dev/null
-+TRANSIENT_DIR ?= /dev/null
- GHUB_DIR ?= /dev/null
- GRAPHQL_DIR ?= /dev/null
- TREEPY_DIR ?= /dev/null
-@@ -12,7 +13,7 @@ EMACSBIN ?= emacs
-
- LOAD_PATH = -L $(DASH_DIR) -L $(WITH_EDITOR_DIR) -L $(GHUB_DIR) \
- -L $(GRAPHQL_DIR) -L $(TREEPY_DIR) \
-- -L $(MAGIT_POPUP_DIR) -L $(MAGIT_DIR)
-+ -L $(LV_DIR) -L $(TRANSIENT_DIR) -L $(MAGIT_DIR)
- BATCH = $(EMACSBIN) -Q --batch $(LOAD_PATH)
-
- all: magit-annex.elc magit-annex-autoloads.el
---- magit-annex-1.7.1+git20200427.1.ef5dce62.orig/NEWS
-+++ magit-annex-1.7.1+git20200427.1.ef5dce62/NEWS
-@@ -1,5 +1,31 @@
- Magit-annex NEWS -- history of user-visible changes -*- mode: org; -*-
-
-+* master (unreleased)
-+
-+Magit-annex has been updated for the latest version of Magit and now
-+requires version 3.0.0 or later.
-+
-+** Interface changes
-+
-+- To be compatible with the latest Magit, popups have been rewritten
-+ as transient commands.
-+
-+ A few key bindings for options now start with ~-~ rather than ~=~
-+ because, unlike magit-popup.el, transient.el doesn't require that
-+ options start with ~=~. You can restore the previous bindings with
-+
-+ #+begin_src emacs-lisp
-+ (transient-suffix-put 'magit-annex-sync "-j" :key "=j")
-+ (transient-suffix-put 'magit-annex-file-action "-j" :key "=j")
-+ (transient-suffix-put 'magit-annex-file-action "-n" :key "=n")
-+ (transient-suffix-put 'magit-annex-unused "-r" :key "=r")
-+ #+end_src
-+
-+- ~magit-annex-unused-log~ now immediately displays the log instead of
-+ opening the log popup and is bound to ~C-c C-l~ in
-+ ~magit-annex-unused-mode-map~ rather than shadowing the default
-+ binding of ~magit-log~.
-+
- * 1.7.0
-
- Magit-annex has been updated for the latest version of Magit and now
---- magit-annex-1.7.1+git20200427.1.ef5dce62.orig/magit-annex-tests.el
-+++ magit-annex-1.7.1+git20200427.1.ef5dce62/magit-annex-tests.el
-@@ -1,12 +1,12 @@
- ;;; magit-annex-tests.el --- Tests for Magit-annex
-
--;; Copyright (C) 2014-2018 Kyle Meyer <kyle@kyleam.com>
-+;; Copyright (C) 2014-2020 Kyle Meyer <kyle@kyleam.com>
- ;;
- ;; License: GPLv3
-
- ;;; Code:
-
--(require 'cl)
-+(require 'cl-lib)
- (require 'dash)
- (require 'ert)
-
-@@ -21,7 +21,7 @@
-
- (defmacro magit-annex-tests-wait (&rest body)
- (declare (indent 0) (debug t))
-- (let ((wait (gensym "magit-annex-tests-wait")))
-+ (let ((wait (cl-gensym "magit-annex-tests-wait")))
- `(prog1 ,(macroexp-progn body)
- (let ((,wait t))
- (when magit-this-process
-@@ -34,7 +34,7 @@
- (let ((start (float-time)))
- (while (and magit-this-process ,wait)
- (when (< 30 (time-to-seconds
-- (subtract-time (float-time) start)))
-+ (time-subtract (float-time) start)))
- (error "Process shouldn't take this long"))
- (sleep-for 0.005))))))))
-
-@@ -98,10 +98,10 @@
-
- (defun magit-annex-tests-modify-file (filename)
- (with-temp-file (expand-file-name filename)
-- (insert (symbol-name (gensym "content")))))
-+ (insert (symbol-name (cl-gensym "content")))))
-
- (defun magit-annex-tests-should-have-section (type info)
-- (magit-status default-directory)
-+ (magit-status-setup-buffer default-directory)
- (message (buffer-string))
- (should (--first (equal (oref it value) info)
- (oref (magit-get-section `((,type) (status)))
-@@ -140,7 +140,7 @@
- (magit-annex-add "annex-file")
- (magit-call-git "commit" "-m" "annex commit")
- (magit-annex-tests-wait
-- (magit-annex-sync))
-+ (magit-annex-sync-all))
- (should (magit-git-lines "diff" "repo1/master"))
- (should-not (magit-git-lines "diff" "synced/master"))
- (should (magit-annex-present-files)))
-@@ -156,7 +156,7 @@
- (magit-annex-add "annex-file")
- (magit-call-git "commit" "-m" "annex commit")
- (magit-annex-tests-wait
-- (magit-annex-sync '("--content")))
-+ (magit-annex-sync-all '("--content")))
- (should (magit-git-lines "diff" "repo1/master"))
- (should-not (magit-git-lines "diff" "synced/master"))
- (should (magit-annex-present-files)))
-@@ -175,7 +175,7 @@
- (magit-annex-add "annex-file")
- (magit-call-git "commit" "-m" "annex commit")
- (magit-annex-tests-wait
-- (magit-annex-sync)))
-+ (magit-annex-sync-all)))
- (let ((default-directory repo1))
- (magit-annex-tests-wait
- (magit-annex-merge))
-@@ -191,7 +191,7 @@
- (magit-annex-add "annex-file")
- (magit-call-git "commit" "-m" "annex commit")
- (magit-annex-tests-wait
-- (magit-annex-sync)))
-+ (magit-annex-sync-all)))
- (let ((default-directory repo1))
- (magit-annex-tests-wait
- (magit-annex-merge))
-@@ -209,7 +209,7 @@
- (magit-annex-add "subdir/annex-file")
- (magit-call-git "commit" "-m" "subdir annex commit")
- (magit-annex-tests-wait
-- (magit-annex-sync)))
-+ (magit-annex-sync-all)))
- (let ((default-directory repo1))
- (magit-annex-tests-wait
- (magit-annex-merge))
-@@ -227,7 +227,7 @@
- (magit-annex-add "annex-file")
- (magit-call-git "commit" "-m" "annex commit")
- (magit-annex-tests-wait
-- (magit-annex-sync))
-+ (magit-annex-sync-all))
- (magit-annex-tests-wait
- (magit-annex-drop-files '("annex-file") '("--force")))
- (should-not (magit-annex-present-files)))))
-@@ -239,7 +239,7 @@
- (magit-annex-add "annex-file")
- (magit-call-git "commit" "-m" "annex commit")
- (magit-annex-tests-wait
-- (magit-annex-sync))
-+ (magit-annex-sync-all))
- (magit-annex-tests-wait
- (magit-annex-move-files '("annex-file") '("--to=repo1")))
- (should-not (magit-annex-present-files)))
-@@ -256,7 +256,7 @@
- (magit-annex-add "annex-file")
- (magit-call-git "commit" "-m" "annex commit")
- (magit-annex-tests-wait
-- (magit-annex-sync))
-+ (magit-annex-sync-all))
- (magit-annex-tests-wait
- (magit-annex-copy-files '("annex-file") '("--to=repo1")))
- (should (equal (magit-annex-present-files)
-@@ -267,17 +267,17 @@
- (should (equal (magit-annex-present-files)
- '("annex-file"))))))
-
--;; (ert-deftest magit-annex-unlock-lock-files ()
--;; (magit-annex-with-test-repo
--;; (magit-annex-tests-modify-file "annex-file")
--;; (magit-annex-add "annex-file")
--;; (magit-call-git "commit" "-m" "annex commit")
--;; (should-not (magit-annex-unlocked-files))
--;; (magit-annex-unlock-files '("annex-file"))
--;; (should (equal (magit-annex-unlocked-files)
--;; '("annex-file")))
--;; (magit-annex-lock-files '("annex-file") '("--force"))
--;; (should-not (magit-annex-unlocked-files))))
-+(ert-deftest magit-annex-unlock-lock-files ()
-+ (magit-annex-with-test-repo
-+ (magit-annex-tests-modify-file "annex-file")
-+ (magit-annex-add "annex-file")
-+ (magit-call-git "commit" "-m" "annex commit")
-+ (should-not (magit-annex-unlocked-files))
-+ (magit-annex-unlock-files '("annex-file"))
-+ (should (equal (magit-annex-unlocked-files)
-+ '("annex-file")))
-+ (magit-annex-lock-files '("annex-file") '("--force"))
-+ (should-not (magit-annex-unlocked-files))))
-
- (ert-deftest magit-annex-undo-files ()
- (magit-annex-with-test-repo
---- magit-annex-1.7.1+git20200427.1.ef5dce62.orig/magit-annex.el
-+++ magit-annex-1.7.1+git20200427.1.ef5dce62/magit-annex.el
-@@ -1,6 +1,6 @@
- ;;; magit-annex.el --- Control git-annex from Magit -*- lexical-binding: t; -*-
-
--;; Copyright (C) 2013-2018 Kyle Meyer <kyle@kyleam.com>
-+;; Copyright (C) 2013-2020 Kyle Meyer <kyle@kyleam.com>
-
- ;; Author: Kyle Meyer <kyle@kyleam.com>
- ;; RĂ©mi Vanicat <vanicat@debian.org>
-@@ -47,11 +47,11 @@
- ;; The above commands, which operate on paths, are also useful
- ;; outside of Magit buffers, especially in Dired buffers. To make
- ;; these commands easily accessible in Dired, you can add a binding
--;; for `magit-annex-file-action-popup'. If you use git-annex.el,
--;; you can put the popup under the same binding (@f) with
-+;; for `magit-annex-file-action'. If you use git-annex.el, you can
-+;; put the popup under the same binding (@f) with
- ;;
- ;; (define-key git-annex-dired-map "f"
--;; #'magit-annex-file-action-popup)
-+;; #'magit-annex-file-action)
- ;;
- ;; @u Browse unused files.
- ;; @l List annex files.
-@@ -84,7 +84,7 @@
-
- (require 'cl-lib)
- (require 'magit)
--(require 'magit-popup)
-+(require 'transient)
-
-
- ;;; Variables
-@@ -146,97 +146,133 @@ program used to open the unused file."
- :type 'boolean)
-
-
--;;; Popups
-+;;; Transients
-+;;;; Infix Arguments
-
--(magit-define-popup magit-annex-popup
-- "Popup console for git-annex commands."
-- 'magit-popups
-+(define-infix-argument magit-annex:--jobs ()
-+ :description "Number of concurrent jobs"
-+ :class 'transient-option
-+ :key "-j"
-+ :shortarg "-J"
-+ :argument "--jobs="
-+ :reader 'transient-read-number-N+)
-+
-+(define-infix-argument magit-annex:--fast ()
-+ :description "Fast variant of command"
-+ :class 'transient-option
-+ :key "-f"
-+ :argument "--fast")
-+
-+(define-infix-argument magit-annex:--force ()
-+ :description "Force unsafe actions"
-+ :class 'transient-option
-+ :key "-F"
-+ :argument "--force")
-+
-+(define-infix-argument magit-annex:--from ()
-+ :description "From remote"
-+ :class 'transient-option
-+ :key "=f"
-+ :argument "--from="
-+ :reader 'magit-read-remote)
-+
-+(define-infix-argument magit-annex:--to ()
-+ :description "To remote"
-+ :class 'transient-option
-+ :key "=t"
-+ :argument "--to="
-+ :reader 'magit-read-remote)
-+
-+;;;; Prefix commands
-+
-+;;;###autoload (autoload 'magit-annex-dispatch "magit-annex" nil t)
-+(define-transient-command magit-annex-dispatch ()
-+ "Invoke a git-annex command."
- :man-page "git-annex"
-- :actions '((?a "Add" magit-annex-add)
-- (?@ "Add" magit-annex-add)
-- (?A "Add all" magit-annex-add-all)
-- (?f "Action on files" magit-annex-file-action-popup)
-- (?G "Get all (auto)" magit-annex-get-all-auto)
-- (?y "Sync" magit-annex-sync-popup)
-- (?m "Merge" magit-annex-merge)
-- (?u "Unused" magit-annex-unused-popup)
-- (?l "List files" magit-annex-list-popup)
-- (?: "Annex subcommand (from pwd)" magit-annex-command)
-- (?! "Running" magit-annex-run-popup))
-- :max-action-columns 3)
--
--(magit-define-popup magit-annex-file-action-popup
-- "Popup console for git-annex file commands."
-- 'magit-annex-popups
-+ ["Actions"
-+ [("a" "Add" magit-annex-add)
-+ ("@" "Add" magit-annex-add)
-+ ("A" "Add all" magit-annex-add-all)]
-+ [("G" "Get all (auto)" magit-annex-get-all-auto)
-+ ("m" "Merge annex branches" magit-annex-merge)
-+ (":" "Annex subcommand (from pwd)" magit-annex-command)]]
-+ ["Transient commands"
-+ [("f" "Action on files" magit-annex-file-action)
-+ ("y" "Sync" magit-annex-sync)
-+ ("!" "Running" magit-annex-run-command)]
-+ [("u" "Unused" magit-annex-unused)
-+ ("l" "List files" magit-annex-list)]])
-+
-+(define-transient-command magit-annex-file-action ()
-+ "Invoke a git-annex file command."
- :man-page "git-annex"
-- :actions '((?g "Get" magit-annex-get-files)
-- (?d "Drop" magit-annex-drop-files)
-- (?c "Copy" magit-annex-copy-files)
-- (?m "Move" magit-annex-move-files)
-- (?l "Lock" magit-annex-lock-files)
-- (?u "Unlock" magit-annex-unlock-files) nil nil
-- (?U "Undo" magit-annex-undo-files))
-- :switches '("Switches"
-- (?f "Fast" "--fast")
-- (?F "Force" "--force")
-- "Switches for get, drop, copy, and move"
-- (?a "Auto" "--auto"))
-- :options '("Options for get, drop, copy, and move"
-- (?t "To remote" "--to=" magit-read-remote)
-- (?f "From remote" "--from=" magit-read-remote)
-- (?n "Number of copies" "--numcopies=")
-- (?j "Number of jobs" "--jobs="))
-- :max-action-columns 4)
--
--(magit-define-popup magit-annex-sync-popup
-- "Popup console for git annex sync."
-- 'magit-annex-popups
-+ ["Arguments"
-+ (magit-annex:--fast)
-+ (magit-annex:--force)]
-+ ["Arguments for get, drop, copy, and move"
-+ ("-a" "Auto" "--auto")
-+ (magit-annex:--from)
-+ ("-n" "Desired number of copies" "--numcopies=" transient-read-number-N+)
-+ (magit-annex:--jobs)]
-+ ["Arguments for copy and move"
-+ (magit-annex:--to)]
-+ ["Arguments for get, drop, copy, and move"
-+ ("=f" "From remote" "--from=" magit-read-remote)]
-+ ["Actions"
-+ [("g" "Get" magit-annex-get-files)
-+ ("d" "Drop" magit-annex-drop-files)
-+ ("c" "Copy" magit-annex-copy-files)
-+ ("m" "Move" magit-annex-move-files)]
-+ [("l" "Lock" magit-annex-lock-files)
-+ ("u" "Unlock" magit-annex-unlock-files)
-+ ("U" "Undo" magit-annex-undo-files)]])
-+
-+(define-transient-command magit-annex-sync ()
-+ "Invoke 'git annex sync'."
- :man-page "git-annex-sync"
-- :actions '((?y "Sync" magit-annex-sync)
-- (?r "Sync remote" magit-annex-sync-remote))
-- :switches '((?c "Content" "--content")
-- (?f "Fast" "--fast")
-- (?F "Force" "--force")
-- (?n "Don't commit local changes" "--no-commit"))
-- :options '((?j "Number of jobs" "--jobs="))
-- :default-action 'magit-annex-sync)
--
--(magit-define-popup magit-annex-unused-popup
-- "Popup console for git annex unused."
-- 'magit-annex-popups
-+ ["Arguments"
-+ (magit-annex:--fast)
-+ (magit-annex:--force)
-+ ("-c" "Transfer content" "--content")
-+ ("-n" "Don't commit local changes" "--no-commit")
-+ (magit-annex:--jobs)]
-+ ["Actions"
-+ ("y" "Sync all remotes" magit-annex-sync-all)
-+ ("r" "Sync a remote" magit-annex-sync-remote)])
-+
-+(define-transient-command magit-annex-unused ()
-+ "Invoke 'git annex unused'."
- :man-page "git-annex-unused"
-- :actions '((?u "Unused" magit-annex-unused)
-- (?r "Unused in reflog" magit-annex-unused-reflog))
-- :switches '((?f "Fast" "--fast"))
-- :options '((?f "From remote" "--from=" magit-read-remote)
-- (?r "Refspec" "--used-refspec="))
-- :default-action 'magit-annex-unused)
--
--(magit-define-popup magit-annex-list-popup
-- "Popup console for git annex list."
-- 'magit-annex-popups
-+ ["Arguments"
-+ (magit-annex:--fast)
-+ (magit-annex:--from)
-+ ("-r" "Refspec" "--used-refspec=")]
-+ ["Actions"
-+ ("u" "Unused" magit-annex-unused-in-refs)
-+ ("r" "Unused in reflog" magit-annex-unused-in-reflog)])
-+
-+(define-transient-command magit-annex-list ()
-+ "Invoke 'git annex list'."
- :man-page "git-annex-list"
-- :actions '((?l "List files" magit-annex-list-files)
-- (?d "List files in directory" magit-annex-list-dir-files))
-- :switches '((?a "All repos" "--allrepos"))
-- :default-action 'magit-annex-list-files)
--
--(magit-define-popup magit-annex-run-popup
-- "Popup console for running git-annex commands."
-- 'magit-annex-popups
-+ ["Arguments"
-+ ("-a" "All repos" "--allrepos")]
-+ ["Actions"
-+ ("l" "List files" magit-annex-list-files)
-+ ("d" "List files in directory" magit-annex-list-dir-files)])
-+
-+(define-transient-command magit-annex-run-command ()
-+ "Run an arbitrary git-annex command."
- :man-page "git-annex"
-- :actions '((?! "Annex subcommand (from root)" magit-annex-command-topdir)
-- (?: "Annex subcommand (from pwd)" magit-annex-command)))
-+ ["Actions"
-+ ("!" "Annex subcommand (from root)" magit-annex-command-topdir)
-+ (":" "Annex subcommand (from pwd)" magit-annex-command)])
-
- ;;;###autoload
- (eval-after-load 'magit
- '(progn
-- (require 'magit-popup)
-- (when (boundp 'magit-dispatch-popup)
-- (define-key magit-mode-map "@" 'magit-annex-popup-or-init)
-- (magit-define-popup-action 'magit-dispatch-popup
-- ?@ "Annex" 'magit-annex-popup-or-init ?!))))
--
-+ (define-key magit-mode-map "@" 'magit-annex-dispatch-or-init)
-+ (transient-append-suffix 'magit-dispatch "%"
-+ '("@" "Annex" magit-annex-dispatch-or-init))))
-
-
- ;;; Process calls
-@@ -257,7 +293,7 @@ information."
- (magit-run-git-async "annex" magit-annex-global-arguments args))
-
- (defun magit-annex-command (command)
-- "Execute COMMAND asynchonously, displaying output.
-+ "Execute COMMAND asynchronously, displaying output.
- This is like `magit-git-command', but \"git annex \" rather than
- \"git \" is used as the initial input."
- (interactive (list (magit-read-shell-command nil "git annex ")))
-@@ -274,12 +310,12 @@ rather than \"git \" is used as the init
- ;;; Initialization
-
- ;;;###autoload
--(defun magit-annex-popup-or-init ()
-- "Call Magit-annex popup or offer to initialize non-annex repo."
-+(defun magit-annex-dispatch-or-init ()
-+ "Call `magit-annex-dispatch' or offer to initialize non-annex repo."
- (interactive)
- (cond
- ((magit-annex-inside-annexdir-p)
-- (magit-annex-popup))
-+ (magit-annex-dispatch))
- ((y-or-n-p (format "No git-annex repository in %s. Initialize one? "
- default-directory))
- (call-interactively 'magit-annex-init))))
-@@ -301,6 +337,9 @@ rather than \"git \" is used as the init
- "Add the item at point to annex.
- With a prefix argument, prompt for FILE.
- \('git annex add')"
-+ ;; NEEDSWORK: Use of `magit-annex-unlocked-files' doesn't make sense
-+ ;; for v6+ repos.
-+ ;;
- ;; Modified from `magit-stage'.
- (interactive
- (when current-prefix-arg
-@@ -339,7 +378,10 @@ With a prefix argument, prompt for FILE.
-
- ;;; Updating
-
--(defun magit-annex-sync (&optional args)
-+(defun magit-annex-sync-arguments ()
-+ (transient-args 'magit-annex-sync))
-+
-+(defun magit-annex-sync-all (&optional args)
- "Sync git-annex.
- \('git annex sync [ARGS]')"
- (interactive (list (magit-annex-sync-arguments)))
-@@ -361,6 +403,31 @@ With a prefix argument, prompt for FILE.
-
- ;;; Managing content
-
-+(defun magit-annex-files ()
-+ "Return all annex files."
-+ (magit-git-items "annex" "find" "--print0" "--include" "*"))
-+
-+(defun magit-annex-present-files ()
-+ "Return annex files that are present in current repo."
-+ (magit-git-items "annex" "find" "--print0"))
-+
-+(defun magit-annex-absent-files ()
-+ "Return annex files that are absent in current repo."
-+ (magit-git-items "annex" "find" "--print0" "--not" "--in=here"))
-+
-+(defun magit-annex-unlocked-files ()
-+ "Return unlocked annex files."
-+ (with-temp-buffer
-+ (let ((exit (magit-process-file
-+ magit-git-executable nil t nil
-+ "annex" "find" "--print0" "--unlocked")))
-+ (if (zerop exit)
-+ (split-string (buffer-string) "\0" t)
-+ ;; `find --unlocked' isn't available until git-annex
-+ ;; 7.20191009. Fall back to the old approach that is
-+ ;; compatible with v5 repos only.
-+ (magit-git-items "diff-files" "-z" "--diff-filter=T" "--name-only")))))
-+
- (defun magit-annex-get-all-auto ()
- "Run `git annex get --auto'."
- (interactive)
-@@ -406,77 +473,96 @@ With a prefix argument, prompt for FILE.
- (dired-relist-file (expand-file-name file)))
- (goto-char here))))
-
--(defmacro magit-annex-files-action (command &optional limit no-async)
-- (declare (indent defun) (debug t))
-- `(defun ,(intern (concat "magit-annex-" command "-files"))
-- (files &optional args)
-- ,(format "%s FILES.\n\n git annex %s [ARGS] [FILE...]"
-- (capitalize command) command)
-- (interactive
-- (list
-- (let* ((files (or (mapcar #'cdr (magit-region-values 'annex-list-file))
-- (when-let ((file (cdr (magit-section-value-if
-- 'annex-list-file))))
-- (list file))
-- (and (derived-mode-p 'dired-mode)
-- (dired-get-marked-files t))))
-- (default (mapconcat #'identity files ",")))
-- (magit-annex-read-files
-- (concat ,(capitalize command)
-- " file,s"
-- (and files (format " (%s)" default))
-- ": ")
-- ,limit
-- default))
-- (magit-annex-file-action-arguments)))
-- (,(if no-async 'magit-annex-run 'magit-annex-run-async)
-- ,command args files)
-- (when (derived-mode-p 'dired-mode)
-- (if ,no-async
-- (magit-annex--dired-relist files)
-- (set-process-sentinel
-- magit-this-process
-- (lambda (process event)
-- (magit-process-sentinel process event)
-- (when (eq (process-status process) 'exit)
-- (magit-annex--dired-relist files)))))
-+(defun magit-annex--dired-relist-async (files)
-+ (when (derived-mode-p 'dired-mode)
-+ (set-process-sentinel
-+ magit-this-process
-+ (lambda (process event)
-+ (magit-process-sentinel process event)
-+ (when (eq (process-status process) 'exit)
-+ (magit-annex--dired-relist files))))
- (let ((magit-display-buffer-noselect t))
-- (magit-process-buffer)))))
-+ (magit-process-buffer))))
-
--(magit-annex-files-action "get" 'absent)
--(magit-annex-files-action "drop"
-- (and (not (magit-annex-from-in-options-p)) 'present))
--(magit-annex-files-action "copy"
-- (and (not (magit-annex-from-in-options-p)) 'present))
--(magit-annex-files-action "move"
-- (and (not (magit-annex-from-in-options-p)) 'present))
--(magit-annex-files-action "unlock" 'present t)
--(magit-annex-files-action "lock" 'unlocked t)
--
--(magit-annex-files-action "undo" nil t)
--
--(defun magit-annex-from-in-options-p ()
-- (cl-some (lambda (it) (string-match-p "--from=" it))
-- magit-current-popup-args))
-+(defun magit-annex-file-action-arguments ()
-+ (transient-args 'magit-annex-file-action))
-
--(defun magit-annex-files ()
-- "Return all annex files."
-- (magit-git-items "annex" "find" "--print0" "--include" "*"))
--
--(defun magit-annex-present-files ()
-- "Return annex files that are present in current repo."
-- (magit-git-items "annex" "find" "--print0"))
--
--(defun magit-annex-absent-files ()
-- "Return annex files that are absent in current repo."
-- (magit-git-items "annex" "find" "--print0" "--not" "--in=here"))
--
--(defun magit-annex-unlocked-files ()
-- "Return unlocked annex files."
-- (magit-git-items "diff-files" "-z" "--diff-filter=T" "--name-only"))
-+(defun magit-annex--file-arguments (&optional limit-to unless-from)
-+ "Return interactive arguments for file-based commands.
-+LIMIT-TO is interpreted by `magit-annex-read-files'. If
-+UNLESS-FROM is non-nil, pass LIMIT-TO only if the command
-+arguments don't include --from."
-+ (let* ((args (magit-annex-file-action-arguments))
-+ (files (or (mapcar #'cdr (magit-region-values 'annex-list-file))
-+ (when-let ((file (cdr (magit-section-value-if
-+ 'annex-list-file))))
-+ (list file))
-+ (and (derived-mode-p 'dired-mode)
-+ (dired-get-marked-files t))))
-+ (default (mapconcat #'identity files ",")))
-+ (list
-+ (magit-annex-read-files
-+ (concat "File,s"
-+ (and files (format " (%s)" default))
-+ ": ")
-+ (and (or (not unless-from)
-+ (cl-notany (lambda (it) (string-match-p "--from=" it))
-+ args))
-+ limit-to)
-+ default)
-+ args)))
-+
-+(defun magit-annex-get-files (files &optional args)
-+ "Get annex files.
-+\('git annex get [ARGS] -- FILES)"
-+ (interactive (magit-annex--file-arguments 'absent))
-+ (magit-annex-run-async "get" args "--" files)
-+ (magit-annex--dired-relist-async files))
-+
-+(defun magit-annex-drop-files (files &optional args)
-+ "Drop annex files.
-+\('git annex drop [ARGS] -- FILES)"
-+ (interactive (magit-annex--file-arguments 'present t))
-+ (magit-annex-run-async "drop" args "--" files)
-+ (magit-annex--dired-relist-async files))
-+
-+(defun magit-annex-copy-files (files &optional args)
-+ "Copy annex files.
-+\('git annex copy [ARGS] -- FILES)"
-+ (interactive (magit-annex--file-arguments 'present t))
-+ (magit-annex-run-async "copy" args "--" files)
-+ (magit-annex--dired-relist-async files))
-+
-+(defun magit-annex-move-files (files &optional args)
-+ "Move annex files.
-+\('git annex move [ARGS] -- FILES)"
-+ (interactive (magit-annex--file-arguments 'present t))
-+ (magit-annex-run-async "move" args "--" files)
-+ (magit-annex--dired-relist-async files))
-+
-+(defun magit-annex-unlock-files (files &optional args)
-+ "Unlock annex files.
-+\('git annex unlock [ARGS] -- FILES)"
-+ (interactive (magit-annex--file-arguments 'present))
-+ (magit-annex-run "unlock" args "--" files)
-+ (magit-annex--dired-relist files))
-+
-+(defun magit-annex-lock-files (files &optional args)
-+ "Lock annex files.
-+\('git annex lock [ARGS] -- FILES)"
-+ (interactive (magit-annex--file-arguments 'unlocked))
-+ (magit-annex-run "lock" args "--" files)
-+ (magit-annex--dired-relist files))
-+
-+(defun magit-annex-undo-files (files &optional args)
-+ "Undo annex files.
-+\('git annex undo [ARGS] -- FILES)"
-+ (interactive (magit-annex--file-arguments))
-+ (magit-annex-run "undo" args "--" files)
-+ (magit-annex--dired-relist files))
-
-
--;; Unused mode
-+;;; Unused mode
-
- (defun magit-annex-unused-add ()
- "Add annex unused data back into the index."
-@@ -504,31 +590,39 @@ With prefix argument FORCE, pass \"--for
- '("--force" "all")
- "all")))))
-
--(defun magit-annex-unused-log-popup ()
-+(defun magit-annex-unused-log ()
- "Display log for unused file.
-
--This is like `magit-log-popup', but, if point is on an unused
--file, the unused file's key is automatically supplied as the
--value for the '-S' flag. The '--stat' flag is also enabled if
--`magit-annex-unused-stat-argument' is non-nil.
-+Show a log where the key for the unused file at point is supplied
-+as the value for the '-S' flag. The '--stat' flag is also
-+enabled if `magit-annex-unused-stat-argument' is non-nil.
-
- \('git log [--stat] -S<KEY>')"
- (interactive)
-- (let ((section (magit-current-section)))
-- (if (not (eq (oref section type) 'unused-data))
-- (call-interactively #'magit-log-popup)
-- (let ((magit-log-arguments
-- `(,(concat "-S" (cdr (oref section value)))
-- ,(and magit-annex-unused-stat-argument "--stat")
-- ,@(cl-remove-if
-- (lambda (x) (string-prefix-p "-S" x))
-- (-if-let (buffer (magit-mode-get-buffer 'magit-log-mode))
-- (with-current-buffer buffer
-- (magit-popup-import-file-args (nth 1 magit-refresh-args)
-- (nth 2 magit-refresh-args)))
-- (default-value 'magit-log-arguments)))))
-- (magit-popup-use-prefix-argument 'default))
-- (magit-invoke-popup 'magit-log-popup nil nil)))))
-+ (magit-section-case
-+ (unused-data
-+ (let ((args (car (magit-log-arguments))))
-+ (when (and magit-annex-unused-stat-argument
-+ (not (member "--stat" args)))
-+ (push "--stat" args))
-+ (funcall
-+ (cond
-+ ;; `magit-git-log' was renamed to `magit-log-setup-buffer' in
-+ ;; v2.90.1-480-g249ce0eec. This is a temporary compatibility
-+ ;; kludge for Guix, whose current version of Magit is from a
-+ ;; bit before that (v2.90.1-460-gc761d28d4).
-+ ((fboundp 'magit-log-setup-buffer)
-+ #'magit-log-setup-buffer)
-+ ((fboundp 'magit-git-log)
-+ #'magit-git-log)
-+ (t (error "bug: should never get here")))
-+ (list (or (magit-get-current-branch) "HEAD"))
-+ (cons (concat "-S" (oref it value))
-+ (cl-remove-if (lambda (x) (string-prefix-p "-S" x))
-+ args))
-+ nil)))
-+ (t
-+ (user-error "No unused file at point"))))
-
- (defun magit-annex--file-name-from-key (key)
- (magit-git-string "annex" "contentlocation" key))
-@@ -563,7 +657,7 @@ the file within Emacs."
- (define-key map (kbd "RET") #'magit-annex-unused-open)
- (define-key map "s" #'magit-annex-unused-add)
- (define-key map "k" #'magit-annex-unused-drop)
-- (define-key map "l" #'magit-annex-unused-log-popup)
-+ (define-key map (kbd "C-c C-l") #'magit-annex-unused-log)
- map)
- "Keymap for `magit-annex-unused-mode'.")
-
-@@ -573,40 +667,51 @@ the file within Emacs."
- \\<magit-annex-unused-mode-map>\
- Type \\[magit-annex-unused-drop] to drop data at point.
- Type \\[magit-annex-unused-add] to add the unused data back into the index.
--Type \\[magit-annex-unused-log-popup] to show commit log for the unused file.
-+Type \\[magit-annex-unused-log] to show commit log for the unused file.
- Type \\[magit-annex-unused-open] to open the file.
- \n\\{magit-annex-unused-mode-map}"
- :group 'magit-modes
- (hack-dir-local-variables-non-file-buffer))
-
-+(defun magit-annex-unused-arguments ()
-+ (transient-args 'magit-annex-unused))
-+
- ;;;###autoload
--(defun magit-annex-unused (&optional args)
-- "Show unused data.
-+(defun magit-annex-unused-in-refs (&optional args)
-+ "Show annex files not used in any branches or tags.
-+These files are not pointed by the tips of the repositories
-+branches or tags.
- \('git annex unused [ARGS]')"
- (interactive (list (magit-annex-unused-arguments)))
-- (magit-mode-setup #'magit-annex-unused-mode args))
-+ (magit-annex-unused-setup-buffer args))
-
- ;;;###autoload
--(defun magit-annex-unused-reflog (&optional args)
-- "Show unused data.
-+(defun magit-annex-unused-in-reflog (&optional args)
-+ "Show annex files not used in any of the revisions in HEAD's reflog.
- \('git annex unused --used-refspec=reflog [ARGS]')"
- (interactive (list (magit-annex-unused-arguments)))
- (if (cl-some (lambda (x) (string-prefix-p "--used-refspec=" x))
- args)
- (user-error "Flag --used-refspec was given more than once")
- (setq args (cons "--used-refspec=reflog" args)))
-- (magit-mode-setup #'magit-annex-unused-mode args))
-+ (magit-annex-unused-setup-buffer args))
-+
-+(defun magit-annex-unused-setup-buffer (args)
-+ (magit-setup-buffer #'magit-annex-unused-mode nil
-+ (magit-buffer-arguments args)))
-
--(defun magit-annex-unused-refresh-buffer (args)
-+(defun magit-annex-unused-refresh-buffer ()
- "Refresh the content of the unused buffer."
- (magit-insert-section (unused)
- (magit-insert-heading
- (concat "Unused files"
-- (and args
-- (concat " (" (mapconcat #'identity args " ") ")"))
-+ (and magit-buffer-arguments
-+ (concat " ("
-+ (mapconcat #'identity magit-buffer-arguments " ")
-+ ")"))
- ":"))
- (magit-git-wash #'magit-annex-unused-wash
-- "annex" "unused" args)))
-+ "annex" "unused" magit-buffer-arguments)))
-
- (defun magit-annex-unused-wash (&rest _)
- "Convert the output of git-annex unused into Magit section."
-@@ -630,7 +735,7 @@ Type \\[magit-annex-unused-open] to open
- (let ((num (match-string 1))
- (key (match-string 2)))
- (delete-region (match-beginning 0) (match-end 0))
-- (magit-insert-section (unused-data (cons num key))
-+ (magit-insert-section (unused-data key)
- (insert (format " %-3s %s" num key))
- (forward-line)))))
-
-@@ -647,26 +752,31 @@ Type \\[magit-annex-unused-open] to open
- (defvar magit-annex-list-mode-map
- (let ((map (make-sparse-keymap)))
- (set-keymap-parent map magit-mode-map)
-- (define-key map "f" #'magit-annex-file-action-popup)
-+ (define-key map "f" #'magit-annex-file-action)
- map)
- "Keymap for `magit-annex-list-mode'.")
-
-+(defvar-local magit-annex-buffer-directory nil)
-+
- (define-derived-mode magit-annex-list-mode magit-mode "Magit-annex List"
- "Mode for viewing on `git annex list' output.
-
- \\<magit-annex-list-mode-map>\
--Type \\[magit-annex-file-action-popup] to perform git-annex action
-+Type \\[magit-annex-file-action] to perform git-annex action
- on the files selected by the region (if active) or the file at point.
- \n\\{magit-annex-list-mode-map}"
- :group 'magit-modes
- (hack-dir-local-variables-non-file-buffer))
-
-+(defun magit-annex-list-arguments ()
-+ (transient-args 'magit-annex-list))
-+
- ;;;###autoload
- (defun magit-annex-list-files (&optional args)
- "List annex files.
- \('git annex list [ARGS]')"
- (interactive (magit-annex-list-arguments))
-- (magit-mode-setup #'magit-annex-list-mode nil args))
-+ (magit-annex-list-setup-buffer nil args))
-
- ;;;###autoload
- (defun magit-annex-list-dir-files (directory &optional args)
-@@ -678,9 +788,14 @@ on the files selected by the region (if
- nil nil t)
- (magit-toplevel)))
- (magit-annex-list-arguments)))
-- (magit-mode-setup #'magit-annex-list-mode directory args))
-+ (magit-annex-list-setup-buffer directory args))
-+
-+(defun magit-annex-list-setup-buffer (directory args)
-+ (magit-setup-buffer #'magit-annex-list-mode nil
-+ (magit-annex-buffer-directory directory)
-+ (magit-buffer-arguments args)))
-
--(defun magit-annex-list-refresh-buffer (&rest _)
-+(defun magit-annex-list-refresh-buffer ()
- "Refresh content of a `magit-annex-list-mode' buffer."
- (magit-insert-section (annex-list-buffer)
- (run-hooks 'magit-annex-list-sections-hook)))
-@@ -691,14 +806,14 @@ on the files selected by the region (if
-
- (defun magit-annex-list-insert-files ()
- "Insert output of `git annex list'."
-- (let* ((subdir (car magit-refresh-args))
-+ (let* ((subdir magit-annex-buffer-directory)
- (heading (if subdir
- (format "Annex files in %s:" subdir)
- "Annex files:")))
- (magit-insert-section (annex-list-buffer)
- (magit-insert-heading heading)
- (magit-git-wash #'magit-annex-list-wash
-- "annex" "list" magit-refresh-args))))
-+ "annex" "list" magit-annex-buffer-directory magit-buffer-arguments))))
-
- (defconst magit-annex-list-line-re "\\([_X]+\\) \\(.*\\)$")
-
diff --git a/debian/patches/series b/debian/patches/series
deleted file mode 100644
index 7bb8252..0000000
--- a/debian/patches/series
+++ /dev/null
@@ -1 +0,0 @@
-debian-changes