Skip to content

Conversation

@aindriu80
Copy link

This commit introduces an initial Irish (Gaeilge) translation for Git, added as po/ga.po.

The file was created and translated manually. Validation was done using Poedit to ensure there are no syntax errors or formatting issues.

pks-t and others added 30 commits April 8, 2025 07:53
By default, git-maintenance(1) uses the "gc" task to ensure that the
repository is well-maintained. This can be changed, for example by
either explicitly configuring which tasks should be enabled or by using
the "incremental" maintenance strategy. If so, git-maintenance(1) does
not know to expire reflog entries, which is a subtask that git-gc(1)
knows to perform for the user. Consequently, the reflog will grow
indefinitely unless the user manually trims it.

Introduce a new "reflog-expire" task that plugs this gap:

  - When running the task directly, then we simply execute `git reflog
    expire --all`, which is the same as git-gc(1).

  - When running git-maintenance(1) with the `--auto` flag, then we only
    run the task in case the "HEAD" reflog has at least N reflog entries
    that would be discarded. By default, N is set to 100, but this can
    be configured via "maintenance.reflog-expire.auto". When a negative
    integer has been provided we always expire entries, zero causes us
    to never expire entries, and a positive value specifies how many
    entries need to exist before we consider pruning the entries.

Note that the condition for the `--auto` flags is merely a heuristic and
optimized for being fast. This is because `git maintenance run --auto`
will be executed quite regularly, so scanning through all reflogs would
likely be too expensive in many repositories.

Signed-off-by: Patrick Steinhardt <[email protected]>
Signed-off-by: Junio C Hamano <[email protected]>
In `split_symref_update()`, there were two checks for duplicate
refnames:

  - At the start, `string_list_has_string()` ensures the refname is not
    already in `affected_refnames`, preventing duplicates from being
    added.

  - After adding the refname, another check verifies whether the newly
    inserted item has a `util` value.

The second check is unnecessary because the first one guarantees that
`string_list_insert()` will never encounter a preexisting entry.

The `item->util` field is assigned to validate that a rename doesn't
already exist in the list. The validation is done after the first check.
As this check is removed, clean up the validation and the assignment of
this field in `split_head_update()` and `files_transaction_prepare()`.

Signed-off-by: Karthik Nayak <[email protected]>
Acked-by: Patrick Steinhardt <[email protected]>
Signed-off-by: Junio C Hamano <[email protected]>
Move the tracking of refnames in `affected_refnames` from individual
backends into the generic layer in 'refs.c'. This centralizes the
duplicate refname detection that was previously handled separately by
each backend.

Make some changes to accommodate this move:

  - Add a `string_list` field `refnames` to `ref_transaction` to contain
    all the references in a transaction. This field is updated whenever
    a new update is added via `ref_transaction_add_update`, so manual
    additions in reference backends are dropped.

  - Modify the backends to use this field internally as needed. The
    backends need to check if an update for refname already exists when
    splitting symrefs or adding an update for 'HEAD'.

  - In the reftable backend, within `reftable_be_transaction_prepare()`,
    move the `string_list_has_string()` check above
    `ref_transaction_add_update()`. Since `ref_transaction_add_update()`
    automatically adds the refname to `transaction->refnames`,
    performing the check after will always return true, so we perform
    the check before adding the update.

This helps reduce duplication of functionality between the backends and
makes it easier to make changes in a more centralized manner.

Signed-off-by: Karthik Nayak <[email protected]>
Acked-by: Patrick Steinhardt <[email protected]>
Signed-off-by: Junio C Hamano <[email protected]>
Within the files reference backend's transaction's 'finish' phase, a
verification step is currently performed wherein the refnames list is
sorted and examined for multiple updates targeting the same refname.

It has been observed that this verification is redundant, as an
identical check is already executed during the transaction's 'prepare'
stage. Since the refnames list remains unmodified following the
'prepare' stage, this secondary verification can be safely eliminated.

The duplicate check has been removed accordingly, and the
`ref_update_reject_duplicates()` function has been marked as static, as
its usage is now confined to 'refs.c'.

Signed-off-by: Karthik Nayak <[email protected]>
Acked-by: Patrick Steinhardt <[email protected]>
Signed-off-by: Junio C Hamano <[email protected]>
Extract the core logic for preparing individual reference updates from
`reftable_be_transaction_prepare()` into `prepare_single_update()`. This
dedicated function now handles all validation and preparation steps for
each reference update in the transaction, including object ID
verification, HEAD reference handling, and symref processing.

The refactoring consolidates all reference update validation into a
single logical block, which improves code maintainability and
readability. More importantly, this restructuring lays the groundwork
for implementing batched reference update support in the reftable
backend, which will be introduced in a followup commit.

No functional changes are included in this commit - it is purely a code
reorganization to support future enhancements.

Signed-off-by: Karthik Nayak <[email protected]>
Acked-by: Patrick Steinhardt <[email protected]>
Signed-off-by: Junio C Hamano <[email protected]>
Replace preprocessor-defined transaction errors with a strongly-typed
enum `ref_transaction_error`. This change:

  - Improves type safety and function signature clarity.
  - Makes error handling more explicit and discoverable.
  - Maintains existing error cases, while adding new error cases for
    common scenarios.

This refactoring paves the way for more comprehensive error handling
which we will utilize in the upcoming commits to add batch reference
update support.

Signed-off-by: Karthik Nayak <[email protected]>
Acked-by: Patrick Steinhardt <[email protected]>
Signed-off-by: Junio C Hamano <[email protected]>
Git supports making reference updates with or without transactions.
Updates with transactions are generally better optimized. But
transactions are all or nothing. This means, if a user wants to batch
updates to take advantage of the optimizations without the hard
requirement that all updates must succeed, there is no way currently to
do so. Particularly with the reftable backend where batching multiple
reference updates is more efficient than performing them sequentially.

Introduce batched update support with a new flag,
'REF_TRANSACTION_ALLOW_FAILURE'. Batched updates while different from
transactions, use the transaction infrastructure under the hood. When
enabled, this flag allows individual reference updates that would
typically cause the entire transaction to fail due to non-system-related
errors to be marked as rejected while permitting other updates to
proceed. System errors referred by 'REF_TRANSACTION_ERROR_GENERIC'
continue to result in the entire transaction failing. This approach
enhances flexibility while preserving transactional integrity where
necessary.

The implementation introduces several key components:

  - Add 'rejection_err' field to struct `ref_update` to track failed
    updates with failure reason.

  - Add a new struct `ref_transaction_rejections` and a field within
    `ref_transaction` to this struct to allow quick iteration over
    rejected updates.

  - Modify reference backends (files, packed, reftable) to handle
    partial transactions by using `ref_transaction_set_rejected()`
    instead of failing the entire transaction when
    `REF_TRANSACTION_ALLOW_FAILURE` is set.

  - Add `ref_transaction_for_each_rejected_update()` to let callers
    examine which updates were rejected and why.

This foundational change enables batched update support throughout the
reference subsystem. A following commit will expose this capability to
users by adding a `--batch-updates` flag to 'git-update-ref(1)',
providing both a user-facing feature and a testable implementation.

Signed-off-by: Karthik Nayak <[email protected]>
Acked-by: Patrick Steinhardt <[email protected]>
Signed-off-by: Junio C Hamano <[email protected]>
The `refs_verify_refnames_available()` is used to batch check refnames
for F/D conflicts. While this is the more performant alternative than
its individual version, it does not provide rejection capabilities on a
single update level. For batched updates, this would mean a rejection of
the entire transaction whenever one reference has a F/D conflict.

Modify the function to call `ref_transaction_maybe_set_rejected()` to
check if a single update can be rejected. Since this function is only
internally used within 'refs/' and we want to pass in a `struct
ref_transaction *` as a variable. We also move and mark
`refs_verify_refnames_available()` to 'refs-internal.h' to be an
internal function.

Signed-off-by: Karthik Nayak <[email protected]>
Acked-by: Patrick Steinhardt <[email protected]>
Signed-off-by: Junio C Hamano <[email protected]>
When updating multiple references through stdin, Git's update-ref
command normally aborts the entire transaction if any single update
fails. This atomic behavior prevents partial updates. Introduce a new
batch update system, where the updates the performed together similar
but individual updates are allowed to fail.

Add a new `--batch-updates` flag that allows the transaction to continue
even when individual reference updates fail. This flag can only be used
in `--stdin` mode and builds upon the batch update support added to the
refs subsystem in the previous commits. When enabled, failed updates are
reported in the following format:

  rejected SP (<old-oid> | <old-target>) SP (<new-oid> | <new-target>) SP <rejection-reason> LF

Update the documentation to reflect this change and also tests to cover
different scenarios where an update could be rejected.

Signed-off-by: Karthik Nayak <[email protected]>
Acked-by: Patrick Steinhardt <[email protected]>
Signed-off-by: Junio C Hamano <[email protected]>
Ensure what we write in assert() does not have side effects,
and introduce ASSERT() macro to mark those that cannot be
mechanically checked for lack of side effects.

* en/assert-wo-side-effects:
  treewide: replace assert() with ASSERT() in special cases
  ci: add build checking for side-effects in assert() calls
  git-compat-util: introduce ASSERT() macro
Give more meaningful error return values from block writer layer of
the reftable ref-API backend.

* ms/reftable-block-writer-errors:
  reftable: adapt write_object_record() to propagate block_writer_add() errors
  reftable: adapt writer_add_record() to propagate block_writer_add() errors
  reftable: propagate specific error codes in block_writer_add()
Code clean-up.

* tb/refspec-fetch-cleanup:
  refspec: replace `refspec_item_init()` with fetch/push variants
  refspec: remove refspec_item_init_or_die()
  refspec: replace `refspec_init()` with fetch/push variants
  refspec: treat 'fetch' as a Boolean value
TCP keepalive behaviour on http transports can now be configured by
calling cURL library.

* tb/http-curl-keepalive:
  http.c: allow custom TCP keepalive behavior via config
  http.c: inline `set_curl_keepalive()`
  http.c: introduce `set_long_from_env()` for convenience
  http.c: remove unnecessary casts to long
CI update.

* ps/ci-meson-check-build-docs:
  ci: perform build and smoke tests for Meson docs
Make the code in reftable library less reliant on the service
routines it used to borrow from Git proper, to make it easier to
use by external users of the library.

* ps/reftable-sans-compat-util:
  Makefile: skip reftable library for Coccinelle
  reftable: decouple from Git codebase by pulling in "compat/posix.h"
  git-compat-util.h: split out POSIX-emulating bits
  compat/mingw: split out POSIX-related bits
  reftable/basics: introduce `REFTABLE_UNUSED` annotation
  reftable/basics: stop using `SWAP()` macro
  reftable/stack: stop using `sleep_millisec()`
  reftable/system: introduce `reftable_rand()`
  reftable/reader: stop using `ARRAY_SIZE()` macro
  reftable/basics: provide wrappers for big endian conversion
  reftable/basics: stop using `st_mult()` in array allocators
  reftable: stop using `BUG()` in trivial cases
  reftable/record: don't `BUG()` in `reftable_record_cmp()`
  reftable/record: stop using `BUG()` in `reftable_record_init()`
  reftable/record: stop using `COPY_ARRAY()`
  reftable/blocksource: stop using `xmmap()`
  reftable/stack: stop using `write_in_full()`
  reftable/stack: stop using `read_in_full()`
Incrementally updating multi-pack index files.

* tb/incremental-midx-part-2:
  midx: implement writing incremental MIDX bitmaps
  pack-bitmap.c: use `ewah_or_iterator` for type bitmap iterators
  pack-bitmap.c: keep track of each layer's type bitmaps
  ewah: implement `struct ewah_or_iterator`
  pack-bitmap.c: apply pseudo-merge commits with incremental MIDXs
  pack-bitmap.c: compute disk-usage with incremental MIDXs
  pack-bitmap.c: teach `rev-list --test-bitmap` about incremental MIDXs
  pack-bitmap.c: support bitmap pack-reuse with incremental MIDXs
  pack-bitmap.c: teach `show_objects_for_type()` about incremental MIDXs
  pack-bitmap.c: teach `bitmap_for_commit()` about incremental MIDXs
  pack-bitmap.c: open and store incremental bitmap layers
  pack-revindex: prepare for incremental MIDX bitmaps
  Documentation: describe incremental MIDX bitmaps
  Documentation: remove a "future work" item from the MIDX docs
Code clean-up.

* rs/clear-commit-marks-simplify:
  commit: move clear_commit_marks_many() loop body to clear_commit_marks()
Compiler warnings workaround.

* ta/bulk-checkin-signed-compare-false-warning-fix:
  bulk-checkin: fix sign compare warnings
Build fix.

* es/meson-build-skip-coccinelle:
  meson: disable coccinelle configuration when building from a tarball
Layout configuration in vimdiff backend didn't work as advertised,
which has been corrected.

* fr/vimdiff-layout-fixes:
  mergetools: vimdiff: add tests for layout with REMOTE as the target
  mergetools: vimdiff: fix layout where REMOTE is the target
Doc update.

* dk/vimdiff-doc-fix:
  vimdiff: clarify the sigil used for marking the buffer to save
Signed-off-by: Junio C Hamano <[email protected]>
Replace the use of merge_trees() from merge-recursive.[ch] with the
merge-ort equivalent.

Signed-off-by: Elijah Newren <[email protected]>
Signed-off-by: Junio C Hamano <[email protected]>
Switch from merge-recursive to merge-ort.  Adjust the following
testcases due to the switch:

* t6430: most of the test differences here were due to improved D/F
  conflict handling explained in more detail in ef52778 (merge
  tests: expect improved directory/file conflict handling in ort,
  2020-10-26).  These changes weren't made to this test back in that
  commit simply because I had been looking at `git merge` rather than
  `git merge-recursive`.  The final test in this testsuite, though, was
  expunged because it was looking for specific output, and the calls to
  output_commit_title() were discarded from merge_ort_internal() in its
  adaptation from merge_recursive_internal(); see 8119214
  (merge-ort: implement merge_incore_recursive(), 2020-12-16).

* t6434: This test is built entirely around rename/delete conflicts,
  which had a suboptimal handling under merge-recursive.  As explained
  in more detail in commits 1f3c9ba ("t6425: be more flexible with
  rename/delete conflict messages", 2020-08-10) and 727c75b ("t6404,
  t6423: expect improved rename/delete handling in ort backend",
  2020-10-26), rename/delete conflicts should each have two entries in
  the index rather than just one.  Adjust the expectations for all the
  tests in this testcase to see the two entries per rename/delete
  conflict.

* t6424: merge-recursive had a special check-if-toplevel-trees-match
  check that it ran at the beginning on both the merge-base and the
  other side being merged in.  In such a case, it exited early and
  printed an "Already up to date." message.  merge-ort got rid of
  this, and instead checks the merge base tree matching the other
  side throughout the tree instead of just at the toplevel, allowing
  it to avoid recursing into various subtrees.  As part of that, it
  got rid of the specialty toplevel message.  That message hasn't
  been missed for years from `git merge`, so I don't think it is
  necessary to keep it just for `git merge-recursive`, especially
  since the latter is rarely used.  (git itself only references it
  in the testsuite, whereas it used to power one of the three
  rebase backends that existed once upon a time.)

Signed-off-by: Elijah Newren <[email protected]>
Signed-off-by: Junio C Hamano <[email protected]>
The ort merge strategy has always used the histogram diff algorithm.
The recursive merge strategy, in contrast, defaults to the myers
diff algorithm, while allowing it to be changed.

Change the ort merge strategy to allow different diff algorithms, by
removing the hard coded value in merge_start() and instead just making
it a default in init_merge_options().  Technically, this also changes
the default diff algorithm for the recursive backend too, but we're
going to remove the final callers of the recursive backend in the next
two commits.

Signed-off-by: Elijah Newren <[email protected]>
Signed-off-by: Junio C Hamano <[email protected]>
The do_recursive_merge() function, which is somewhat misleadingly named
since its purpose in life is to do a *non*-recursive merge, had code to
allow either using the recursive or ort backends.  The default has been
ort for a very long time, let's just remove the code path for allowing
the recursive backend to be selected.

Signed-off-by: Elijah Newren <[email protected]>
Signed-off-by: Junio C Hamano <[email protected]>
More precisely, replace calls to merge_recursive() with
merge_ort_recursive().

Also change t7615 to quit calling out recursive; it is not needed
anymore, and we are in fact using ort now.

Signed-off-by: Elijah Newren <[email protected]>
Signed-off-by: Junio C Hamano <[email protected]>
As a wise man once told me, "Deleted code is debugged code!"  So, move
the functions that are shared between merge-recursive and merge-ort from
the former to the latter, and then debug the remainder of
merge-recursive.[ch].

Joking aside, merge-ort was always intended to replace merge-recursive.
It has numerous advantages over merge-recursive (operates much faster,
can operate without a worktree or index, and fixes a number of known
bugs and suboptimal merges).  Since we have now replaced all callers of
merge-recursive with equivalent functions from merge-ort, move the
shared functions from the former to the latter, and delete the remainder
of merge-recursive.[ch].

Signed-off-by: Elijah Newren <[email protected]>
Signed-off-by: Junio C Hamano <[email protected]>
Both of these existed to allow us to reuse all the merge-related tests
in the testsuite while easily flipping between the 'recursive' and the
'ort' backends.  Now that we have removed merge-recursive and remapped
'recursive' to mean 'ort', we don't need this scaffolding anymore.

Signed-off-by: Elijah Newren <[email protected]>
Signed-off-by: Junio C Hamano <[email protected]>
This environment variable existed to allow the testsuite to reuse all
the merge-related tests in the testsuite while easily flipping between
the 'recursive' and the 'ort' backends.  Now that we have removed
merge-recursive and remapped 'recursive' to mean 'ort', we don't need
this scaffolding anymore.  Remove it from these three builtins.

Signed-off-by: Elijah Newren <[email protected]>
Signed-off-by: Junio C Hamano <[email protected]>
gitster and others added 28 commits May 5, 2025 14:56
The build procedure based on Meson learned to drive the
benchmarking tests.

* ps/meson-build-perf-bench:
  meson: wire up benchmarking options
  meson: wire up benchmarks
  t/perf: fix benchmarks with out-of-tree builds
  t/perf: use configured PERL_PATH
  t/perf: fix benchmarks with alternate repo formats
Code clean-up for meson-based build infrastructure.

* es/meson-cleanup:
  meson: only check for missing networking syms on non-Windows; add compat impls
  meson: fix typo in function check that prevented checking for hstrerror
  meson: add a couple missing networking dependencies
  meson: do a full usage-based compile check for sysinfo
  meson: check for getpagesize before using it
  meson: simplify and parameterize various standard function checks
Add an equivalent to "make hdr-check" target to meson based builds.

* kn/meson-hdr-check:
  makefile/meson: add 'check-headers' as alias for 'hdr-check'
  meson: add support for 'hdr-check'
  meson: rename 'third_party_sources' to 'third_party_excludes'
  meson: move headers definition from 'contrib/coccinelle'
  coccinelle: meson: rename variables to be more specific
  ci/github: install git before checking out the repository
Signed-off-by: Junio C Hamano <[email protected]>
Signed-off-by: தமிழ் நேரம் <[email protected]>
Follow the lead of 5377abc ("po/git.pot: don't check in result
of "make pot"", 2022-05-26) in the Git repository and do not track
git-gui.pot anymore.

Instead, translators are expected to integrate an up-to-date version
from the master branch into their translation file using

   make ALL_POFILES=po/xx.po update-po

Update README to describe the new process. It is now understood that
different translations need not be based on the same message template
file, but rather individual translators should base their translation
on the most up-to-date code. Remove the section that addresses the
i18n coordinator as it does not apply when no common base is required
among translators.

Signed-off-by: Johannes Sixt <[email protected]>
hashmap API clean-up to ensure hashmap_clear() leaves a cleared map
in a reusable state.

* en/hashmap-clear-fix:
  hashmap: ensure hashmaps are reusable after hashmap_clear()
"git mv a a/b dst" would ask to move the directory 'a' itself, as
well as its contents, in a single destination directory, which is
a contradicting request that is impossible to satisfy. This case is
now detected and the command errors out.

* ps/mv-contradiction-fix:
  builtin/mv: convert assert(3p) into `BUG()`
  builtin/mv: bail out when trying to move child and its parent
Work around false positive given by CodeQL.

* js/diff-codeql-false-positive-workaround:
  diff: check range before dereferencing an array element
Signed-off-by: Junio C Hamano <[email protected]>
* at/translation-tamil:
  gitk: add Tamil translation

Signed-off-by: Johannes Sixt <[email protected]>
* js/po-update-workflow:
  git-gui: treat the message template file as a built file
  git-gui: po/README: update repository location and maintainer

Signed-off-by: Johannes Sixt <[email protected]>
* 'master' of https://github.com/j6t/git-gui:
  git-gui: treat the message template file as a built file
  git-gui: heed core.commentChar/commentString
  git-gui: po/README: update repository location and maintainer
* 'master' of https://github.com/j6t/gitk:
  gitk: add Tamil translation
  gitk: limit PATH search to bare executable names
  gitk: _search_exe is no longer needed
  gitk: override $PATH search only on Windows
  gitk: adjust indentation to match the style used in this script
Update send-email to work better with Outlook's smtp server.

* ag/send-email-outlook:
  send-email: add --[no-]outlook-id-fix option
  send-email: retrieve Message-ID from outlook SMTP server
Further code clean-up in the object-store layer.

* ps/object-store-cleanup:
  object-store: drop `repo_has_object_file()`
  treewide: convert users of `repo_has_object_file()` to `has_object()`
  object-store: allow fetching objects via `has_object()`
  object-store: move function declarations to their respective subsystems
  object-store: move and rename `odb_pack_keep()`
  object-store: drop `loose_object_path()`
  object-store: move `struct packed_git` into "packfile.h"
Further refinement on CI messages when an optional external
software is unavailable (e.g. due to third-party service outage).

* jc/ci-skip-unavailable-external-software:
  ci: download JGit from maven, not eclipse.org
  ci: update the message for unavailble third-party software
"git index-pack --fix-thin" used to abort to prevent a cycle in
delta chains from forming in a corner case even when there is no
such cycle.

* ds/fix-thin-fix:
  index-pack: allow revisiting REF_DELTA chains
  t5309: create failing test for 'git index-pack'
  test-tool: add pack-deltas helper
"git diff --minimal" used to give non-minimal output when its
optimization kicked in, which has been disabled.

* ng/xdiff-truly-minimal:
  xdiff: disable cleanup_records heuristic with --minimal
Meson-based build framework update.

* ps/meson-bin-sh:
  meson: prefer shell at "/bin/sh"
  meson: report detected runtime executable paths
Signed-off-by: Junio C Hamano <[email protected]>
Doc update.

* en/get-tree-entry-doc:
  tree-walk.h: fix incorrect API comment
Test result aggregation did not work in Meson based CI jobs.

* ps/ci-test-aggreg-fix-for-meson:
  ci: fix aggregation of test results with Meson
Code clean-up around stale CI elements and building with Visual Studio.

* js/ci-buildsystems-cleanup:
  config.mak.uname: drop the `vcxproj` target
  contrib/buildsystems: drop support for building . vcproj/.vcxproj files
  ci: stop linking the `prove` cache
Docfixes.

* kh/docfixes:
  doc: branch: fix inline-verbatim
  doc: reflog: fix `drop` subheading
"git add 'f?o'" did not add 'foo' if 'f?o', an unusual pathname,
also existed on the working tree, which has been corrected.

* kj/glob-path-with-special-char:
  dir.c: literal match with wildcard in pathspec should still glob
Signed-off-by: Junio C Hamano <[email protected]>
@aindriu80 aindriu80 closed this May 14, 2025
@github-actions
Copy link

Errors and warnings found by git-po-helper in workflow #956:

WARNING too many commits to check (596 > 100), check args or use option --force 
------------------------------------------------------------------------------
INFO [po/ga.po@3a4e1b3]	520 translated messages.  
------------------------------------------------------------------------------
ERROR [po/ga.po@3a4e1b3]	Found file-location comments in po file. By submitting a location-less 
ERROR [po/ga.po@3a4e1b3]	"po/XX.po" file, the size of the Git repository can be greatly reduced. 
ERROR [po/ga.po@3a4e1b3]	See the discussion below: 
ERROR [po/ga.po@3a4e1b3]                           
ERROR [po/ga.po@3a4e1b3]	    https://lore.kernel.org/git/[email protected]/ 
ERROR [po/ga.po@3a4e1b3]                           
ERROR [po/ga.po@3a4e1b3]	As how to commit a location-less "po/XX.po" file, See: 
ERROR [po/ga.po@3a4e1b3]                           
ERROR [po/ga.po@3a4e1b3]	    the [Updating a "XX.po" file] section in "po/README.md" 
------------------------------------------------------------------------------
WARNING [po/ga.po@3a4e1b3]	mismatched patterns: Push.AutoSetUpRemote, push.autoSetupRemote 
WARNING [po/ga.po@3a4e1b3]	>> msgid:                 
WARNING [po/ga.po@3a4e1b3]	To have this happen automatically for branches without a tracking 
WARNING [po/ga.po@3a4e1b3]	upstream, see 'push.autoSetupRemote' in 'git help config'. 
WARNING [po/ga.po@3a4e1b3]                           
WARNING [po/ga.po@3a4e1b3]	>> msgstr:                
WARNING [po/ga.po@3a4e1b3]	Chun é seo a tharlóidh go huathoibríoch do bhrainsí gan rianú 
WARNING [po/ga.po@3a4e1b3]	suas sruth, féach 'Push.AutoSetUpRemote' i 'git help config'. 
WARNING [po/ga.po@3a4e1b3]                           
WARNING [po/ga.po@3a4e1b3]                           
WARNING [po/ga.po@3a4e1b3]	mismatched patterns: --continue 
WARNING [po/ga.po@3a4e1b3]	>> msgid:   (run "git cherry-pick --continue" to continue) 
WARNING [po/ga.po@3a4e1b3]	>> msgstr:  (reáchtáil “git cherry-pick - lean” chun leanúint ar aghaidh) 
WARNING [po/ga.po@3a4e1b3]                           
WARNING [po/ga.po@3a4e1b3]	mismatched patterns: --stage, --staged 
WARNING [po/ga.po@3a4e1b3]	>> msgid:   (use "git restore --staged <file>..." to unstage) 
WARNING [po/ga.po@3a4e1b3]	>> msgstr:  (bain úsáid as “git restore --stage <comhad>...” chun an stáitse a dhíchur) 
WARNING [po/ga.po@3a4e1b3]                           
WARNING [po/ga.po@3a4e1b3]	mismatched patterns: --no-guess, --no-thuairim 
WARNING [po/ga.po@3a4e1b3]	>> msgid: '%s' could be both a local file and a tracking branch. 
WARNING [po/ga.po@3a4e1b3]	Please use -- (and optionally --no-guess) to disambiguate 
WARNING [po/ga.po@3a4e1b3]	>> msgstr: D'fhéadfadh '%s' a bheith ina chomhad áitiúil agus ina bhrainse rianaithe araon. 
WARNING [po/ga.po@3a4e1b3]	Úsáid le do thoil -- (agus go roghnach --no-thuairim) chun a dhíbhriú 
WARNING [po/ga.po@3a4e1b3]                           
WARNING [po/ga.po@3a4e1b3]	mismatched patterns: --all 
WARNING [po/ga.po@3a4e1b3]	>> msgid: --all can't be combined with refspecs 
WARNING [po/ga.po@3a4e1b3]	>> msgstr: --ní féidir gach rud a chomhcheangal le refspecs 
WARNING [po/ga.po@3a4e1b3]                           
WARNING [po/ga.po@3a4e1b3]	mismatched patterns: --delete 
WARNING [po/ga.po@3a4e1b3]	>> msgid: --delete doesn't make sense without any refs 
WARNING [po/ga.po@3a4e1b3]	>> msgstr: --ní bhíonn ciall ag scriosadh gan aon ghearradh 
WARNING [po/ga.po@3a4e1b3]                           
WARNING [po/ga.po@3a4e1b3]	mismatched patterns: --deep, --depth 
WARNING [po/ga.po@3a4e1b3]	>> msgid: --depth is ignored in local clones; use file:// instead. 
WARNING [po/ga.po@3a4e1b3]	>> msgstr: Déantar neamhaird ar --deep i gclóin áitiúla; bain úsáid as comhad://ina ionad sin. 
WARNING [po/ga.po@3a4e1b3]                           
WARNING [po/ga.po@3a4e1b3]	mismatched patterns: --mirror 
WARNING [po/ga.po@3a4e1b3]	>> msgid: --mirror can't be combined with refspecs 
WARNING [po/ga.po@3a4e1b3]	>> msgstr: --ní féidir scáthán a chomhcheangal le refspecs 
WARNING [po/ga.po@3a4e1b3]                           
WARNING [po/ga.po@3a4e1b3]	mismatched patterns: --mixed 
WARNING [po/ga.po@3a4e1b3]	>> msgid: --mixed with paths is deprecated; use 'git reset -- <paths>' instead. 
WARNING [po/ga.po@3a4e1b3]	>> msgstr: <paths>Tá - measctha le cosáin míshuanta; bain úsáid as 'git reset -- 'ina ionad sin. 
WARNING [po/ga.po@3a4e1b3]                           
WARNING [po/ga.po@3a4e1b3]	mismatched patterns: --shallow-exclude, --shallow-exclusive 
WARNING [po/ga.po@3a4e1b3]	>> msgid: --shallow-exclude is ignored in local clones; use file:// instead. 
WARNING [po/ga.po@3a4e1b3]	>> msgstr: Déantar neamhaird ar --shallow-exclusive i gclóin áitiúla; bain úsáid as comhad://ina ionad sin. 
WARNING [po/ga.po@3a4e1b3]                           
WARNING [po/ga.po@3a4e1b3]	mismatched patterns: --verify 
WARNING [po/ga.po@3a4e1b3]	>> msgid: --verify with no packfile name given 
WARNING [po/ga.po@3a4e1b3]	>> msgstr: - fíorú gan aon ainm pacáiste a thugtar 
WARNING [po/ga.po@3a4e1b3]                           
WARNING [po/ga.po@3a4e1b3]	mismatched patterns: --source=HEAD, --source=head 
WARNING [po/ga.po@3a4e1b3]	>> msgid: Clone succeeded, but checkout failed. 
WARNING [po/ga.po@3a4e1b3]	You can inspect what was checked out with 'git status' 
WARNING [po/ga.po@3a4e1b3]	and retry with 'git restore --source=HEAD :/' 
WARNING [po/ga.po@3a4e1b3]                           
WARNING [po/ga.po@3a4e1b3]	>> msgstr: D'éirigh le clón, ach theip ar an tseiceáil. 
WARNING [po/ga.po@3a4e1b3]	Is féidir leat iniúchadh a dhéanamh ar an méid a sheiceáladh le 'git status' 
WARNING [po/ga.po@3a4e1b3]	agus déan iarracht arís le 'git restore --source=head: /' 
WARNING [po/ga.po@3a4e1b3]                           
WARNING [po/ga.po@3a4e1b3]                           
WARNING [po/ga.po@3a4e1b3]	mismatched patterns: refs/heads 
WARNING [po/ga.po@3a4e1b3]	>> msgid: HEAD not found below refs/heads! 
WARNING [po/ga.po@3a4e1b3]	>> msgstr: Ní fhaightear CEAD thíos na tagairtí/cinn! 
WARNING [po/ga.po@3a4e1b3]                           
WARNING [po/ga.po@3a4e1b3]	mismatched patterns: m.sh 
WARNING [po/ga.po@3a4e1b3]	>> msgid: If you meant to check out a remote tracking branch on, e.g. 'origin', 
WARNING [po/ga.po@3a4e1b3]	you can do so by fully qualifying the name with the --track option: 
WARNING [po/ga.po@3a4e1b3]                           
WARNING [po/ga.po@3a4e1b3]	    git checkout --track origin/<name> 
WARNING [po/ga.po@3a4e1b3]                           
WARNING [po/ga.po@3a4e1b3]	If you'd like to always have checkouts of an ambiguous <name> prefer 
WARNING [po/ga.po@3a4e1b3]	one remote, e.g. the 'origin' remote, consider setting 
WARNING [po/ga.po@3a4e1b3]	checkout.defaultRemote=origin in your config. 
WARNING [po/ga.po@3a4e1b3]	>> msgstr: Má bhí sé i gceist agat brainse cianrianaithe a sheiceáil ar, m.sh. 'tionscnamh', 
WARNING [po/ga.po@3a4e1b3]	is féidir leat é sin a dhéanamh tríd an ainm a cháiliú go hiomlán leis an rogha --track: 
WARNING [po/ga.po@3a4e1b3]                           
WARNING [po/ga.po@3a4e1b3]	 seiceáil git --track bunaidh/<name> 
WARNING [po/ga.po@3a4e1b3]                           
WARNING [po/ga.po@3a4e1b3]	<name>Más mian leat seiceálacha débhríoch a bheith agat i gcónaí is fearr leat 
WARNING [po/ga.po@3a4e1b3]	iargúlta amháin, m.sh. an iargúlta 'bunús', smaoinigh ar shocrú 
WARNING [po/ga.po@3a4e1b3]	checkout.defaultRemote=Bunús i do chumraíocht. 
WARNING [po/ga.po@3a4e1b3]                           
WARNING [po/ga.po@3a4e1b3]	mismatched patterns: --no-athnuachan, --no-refresh 
WARNING [po/ga.po@3a4e1b3]	>> msgid: It took %.2f seconds to refresh the index after reset.  You can use 
WARNING [po/ga.po@3a4e1b3]	'--no-refresh' to avoid this. 
WARNING [po/ga.po@3a4e1b3]	>> msgstr: Thóg sé %.2f soicind an t-innéacs a athnuachan tar éis athshocrú. Is féidir leat úsáid a bhaint as 
WARNING [po/ga.po@3a4e1b3]	'--no-athnuachan' chun é seo a sheachaint. 
WARNING [po/ga.po@3a4e1b3]                           
WARNING [po/ga.po@3a4e1b3]	mismatched patterns: --bare, --lom 
WARNING [po/ga.po@3a4e1b3]	>> msgid: create a mirror repository (implies --bare) 
WARNING [po/ga.po@3a4e1b3]	>> msgstr: stóras scátháin a chruthú (tugann le tuiscint --lom) 
WARNING [po/ga.po@3a4e1b3]                           
WARNING [po/ga.po@3a4e1b3]	mismatched patterns: --a, --ours, --theirs 
WARNING [po/ga.po@3a4e1b3]	>> msgid: git checkout: --ours/--theirs, --force and --merge are incompatible when 
WARNING [po/ga.po@3a4e1b3]	checking out of the index. 
WARNING [po/ga.po@3a4e1b3]	>> msgstr: git checkout: - ours/--a gcuid féin, --force agus --merge neamhoiriúnach nuair 
WARNING [po/ga.po@3a4e1b3]	seiceáil amach as an innéacs. 
WARNING [po/ga.po@3a4e1b3]                           
WARNING [po/ga.po@3a4e1b3]	mismatched patterns: git-ar, git-upload-pack 
WARNING [po/ga.po@3a4e1b3]	>> msgid: path to git-upload-pack on the remote 
WARNING [po/ga.po@3a4e1b3]	>> msgstr: cosán chuig pacáiste uaslódála git-ar an iargúlta 
WARNING [po/ga.po@3a4e1b3]                           
WARNING [po/ga.po@3a4e1b3]	mismatched patterns: --branches, --mirror 
WARNING [po/ga.po@3a4e1b3]	>> msgid: push tags (can't be used with --all or --branches or --mirror) 
WARNING [po/ga.po@3a4e1b3]	>> msgstr: clibeanna brú (ní féidir iad a úsáid le --all nó --crainsí nó --scáthán) 
WARNING [po/ga.po@3a4e1b3]                           
WARNING [po/ga.po@3a4e1b3]	mismatched patterns: push.RecursesubModules, push.recurseSubmodules 
WARNING [po/ga.po@3a4e1b3]	>> msgid: recursing into submodule with push.recurseSubmodules=only; using on-demand instead 
WARNING [po/ga.po@3a4e1b3]	>> msgstr: athfhillteach isteach i bhfo-mhodúl le push.RecursesubModules=amháin; ag baint úsáide as ar-éileamh ina ionad 
WARNING [po/ga.po@3a4e1b3]                           
WARNING [po/ga.po@3a4e1b3]	mismatched patterns: transfer.credentialsInUrl 
WARNING [po/ga.po@3a4e1b3]	>> msgid: unrecognized value transfer.credentialsInUrl: '%s' 
WARNING [po/ga.po@3a4e1b3]	>> msgstr: aistriú luacha neamhaitheantaí.CredentialsInURL: '%s' 
WARNING [po/ga.po@3a4e1b3]                           
------------------------------------------------------------------------------
ERROR commit 3a4e1b3: subject ("Add initial ...") does not have prefix "l10n:" 
------------------------------------------------------------------------------
ERROR commit 3a4e1b3: empty body of the commit message, no s-o-b signature 
------------------------------------------------------------------------------
ERROR commit 1a8a497: found changes beyond "po/" directory: 
ERROR 		Documentation/RelNotes/2.50.0.adoc         
ERROR                                              
ERROR commit 1a8a497: break because this commit is not for git-l10n 
INFO checking commits: 0 passed, 2 failed, 98 skipped. 
------------------------------------------------------------------------------
INFO downloading pot file from https://github.com/git-l10n/pot-changes/raw/pot/master/po/git.pot 
------------------------------------------------------------------------------
ERROR [po/ga.po@3a4e1b3]	5297 new string(s) in 'po/git.pot', but not in your 'po/XX.po' 
ERROR [po/ga.po@3a4e1b3]                           
ERROR [po/ga.po@3a4e1b3]	  > po/git.pot:24: this message is used but not defined in /tmp/3412518885--ga.po 
ERROR [po/ga.po@3a4e1b3]	  > po/git.pot:30: this message is used but not defined in /tmp/3412518885--ga.po 
ERROR [po/ga.po@3a4e1b3]	  > po/git.pot:34: this message is used but not defined in /tmp/3412518885--ga.po 
ERROR [po/ga.po@3a4e1b3]	  > ...                   
ERROR [po/ga.po@3a4e1b3]                           
ERROR [po/ga.po@3a4e1b3]	You can download the latest "po/git.pot" file from: 
ERROR [po/ga.po@3a4e1b3]                           
ERROR [po/ga.po@3a4e1b3]		https://github.com/git-l10n/pot-changes/raw/pot/master/po/git.pot 
ERROR [po/ga.po@3a4e1b3]                           
ERROR [po/ga.po@3a4e1b3]	Please rebase your branch to the latest upstream branch, 
ERROR [po/ga.po@3a4e1b3]	run "git-po-helper update po/XX.po" to update your po file, 
ERROR [po/ga.po@3a4e1b3]	and translate the new strings in it. 
ERROR [po/ga.po@3a4e1b3]                           

ERROR: fail to execute "git-po-helper check-commits"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.