What's cooking in git.git (Aug 2024, #02; Mon, 5)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Here are the topics that have been cooking in my tree.  Commits
prefixed with '+' are in 'next' (being in 'next' is a sign that a
topic is stable enough to be used and are candidate to be in a
future release).  Commits prefixed with '-' are only in 'seen', and
aren't considered "accepted" at all and may be annotated with an URL
to a message that raises issues but they are no means exhaustive.  A
topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).

Copies of the source code to Git live in many repositories, and the
following is a list of the ones I push into or their mirrors.  Some
repositories have only a subset of branches.

With maint, master, next, seen, todo:

	git://git.kernel.org/pub/scm/git/git.git/
	git://repo.or.cz/alt-git.git/
	https://kernel.googlesource.com/pub/scm/git/git/
	https://github.com/git/git/
	https://gitlab.com/git-scm/git/

With all the integration branches and topics broken out:

	https://github.com/gitster/git/

Even though the preformatted documentation in HTML and man format
are not sources, they are published in these repositories for
convenience (replace "htmldocs" with "manpages" for the manual
pages):

	git://git.kernel.org/pub/scm/git/git-htmldocs.git/
	https://github.com/gitster/git-htmldocs.git/

Release tarballs are available at:

	https://www.kernel.org/pub/software/scm/git/

--------------------------------------------------
[New Topics]

* ag/t7004-modernize (2024-08-04) 6 commits
 - t7004-tag: description on the same line as test_expect_success
 - t7004-tag: here-doc modernization
 - t7004-tag: do not prepare except outside test_expect_success
 - t7004-tag: one command per line
 - t7004-tag: do not lose exit status to pipe
 - t7004-tag: redirection operator

 Coding style fixes to a test script.

 Inviting further discussion.
 source: <20240804071137.30326-1-abdobngad@xxxxxxxxx>


* ds/for-each-ref-is-base (2024-08-02) 3 commits
 - p1500: add is-base performance tests
 - for-each-ref: add 'is-base' token
 - commit-reach: add get_branch_base_for_tip

 'git for-each-ref' learned a new "--format" atom to find the branch
 that the history leading to a given commit "%(is-base:<commit>)" is
 likely based on.

 Expecting a reroll.
 source: <pull.1768.git.1722550226.gitgitgadget@xxxxxxxxx>


* jk/apply-patch-mode-check-fix (2024-08-05) 1 commit
  (merged to 'next' on 2024-08-05 at 2dc1a81c89)
 + apply: canonicalize modes read from patches

 The patch parser in 'git apply' has been a bit more lenient against
 unexpected mode bits, like 100664, recorded on extended header lines.

 Will merge to 'master'.
 source: <20240805060010.GA120016@xxxxxxxxxxxxxxxxxxxxxxx>


* kl/test-fixes (2024-08-05) 2 commits
 - t6421: fix test to work when repo dir contains d0
 - set errno=0 before strtoX calls

 A flakey test and incorrect calls to strtoX() functions have been
 fixed.

 Will merge to 'next'.
 source: <pull.1756.v3.git.git.1722877808.gitgitgadget@xxxxxxxxx>


* ps/ls-remote-out-of-repo-fix (2024-08-02) 1 commit
  (merged to 'next' on 2024-08-05 at 6438d8196d)
 + builtin/ls-remote: fall back to SHA1 outside of a repo

 A recent update broke "git ls-remote" used outside a repository,
 which has been corrected.

 Will merge to 'master'.
 source: <c52112d3946b2fd8d030580cd7acb809fa54012a.1722573777.git.ps@xxxxxx>


* ps/ref-api-cleanup (2024-08-02) 1 commit
  (merged to 'next' on 2024-08-05 at d57856ae19)
 + refs: drop `ref_store`-less functions

 Code clean-up.

 Will merge to 'master'.
 source: <1d9add71065dabb3d7bf81529d04afbcf91e3a69.1722577074.git.ps@xxxxxx>


* rs/use-decimal-width (2024-08-05) 1 commit
 - log-tree: use decimal_width()

 Code clean-up.

 Will merge to 'next'.
 source: <06783722-5184-41d5-8edd-94f97b2f2794@xxxxxx>


* ss/packed-ref-store-leakfix (2024-08-05) 1 commit
 - refs/files: prevent memory leak by freeing packed_ref_store

 Leakfix.

 Will merge to 'next'.
 source: <pull.1757.v2.git.git.1722851612505.gitgitgadget@xxxxxxxxx>


* tb/t7704-deflake (2024-08-05) 1 commit
 - t/t7704-repack-cruft.sh: avoid failures during long-running tests

 A test that fails on an unusually slow machine was found, and made
 less likely to cause trouble by lengthening the expiry value it
 uses.

 Will merge to 'next'.
 source: <95cdc30bad38f464b37e87d78f38e1d91c9e083b.1722886630.git.me@xxxxxxxxxxxx>

--------------------------------------------------
[Stalled]

* pp/add-parse-range-unit-test (2024-05-27) 1 commit
 - apply: add unit tests for parse_range

 A unit test for code that parses the hunk offset and length from a
 patch fragment header as been added.

 Expecting a reroll.
 cf. <b7eca313-9ea8-4132-ba1d-ed9236e07095@xxxxxxxxx>
 source: <pull.1677.v2.git.git.1716710073910.gitgitgadget@xxxxxxxxx>

--------------------------------------------------
[Cooking]

* sj/ref-fsck (2024-08-05) 9 commits
 - fsck: add ref name check for files backend
 - files-backend: add unified interface for refs scanning
 - builtin/refs: add verify subcommand
 - refs: set up ref consistency check infrastructure
 - fsck: add refs report function
 - fsck: add a unified interface for reporting fsck messages
 - fsck: make "fsck_error" callback generic
 - fsck: rename objects-related fsck error functions
 - fsck: rename "skiplist" to "skip_oids"

 "git fsck" infrastructure has been taught to also check the sanity
 of the ref database, in addition to the object database.

 Ready?
 source: <ZrEBKjzbyxtMdCCx@ArchLinux>


* dd/notes-empty-no-edit-by-default (2024-07-29) 1 commit
  (merged to 'next' on 2024-08-01 at fe75c53260)
 + notes: do not trigger editor when adding an empty note

 "git notes add -m '' --allow-empty" and friends that take prepared
 data to create notes should not invoke an editor, but it started
 doing so since Git 2.42, which has been corrected.

 Will merge to 'master'.
 source: <20240729151639.19192-2-ddiss@xxxxxxx>


* ks/unit-test-comment-typofix (2024-07-29) 1 commit
  (merged to 'next' on 2024-08-01 at 35c44187b1)
 + unit-tests/test-lib: fix typo in check_pointer_eq() description

 Typofix.

 Will merge to 'master'.
 source: <20240729043303.3486-1-five231003@xxxxxxxxx>


* dh/encoding-trace-optim (2024-07-31) 1 commit
  (merged to 'next' on 2024-08-01 at c5e023eeaf)
 + convert: return early when not tracing

 An expensive operation to prepare tracing was done in re-encoding
 code path even when the tracing was not requested, which has been
 corrected.

 Will merge to 'master'.
 source: <pull.1744.v6.git.git.1722432839473.gitgitgadget@xxxxxxxxx>


* ps/refs-wo-the-repository (2024-07-30) 5 commits
 - refs/reftable: stop using `the_repository`
 - refs/packed: stop using `the_repository`
 - refs/files: stop using `the_repository`
 - refs/files: stop using `the_repository` in `parse_loose_ref_contents()`
 - refs: stop using `the_repository`

 In the refs subsystem, implicit reliance of the_repository has been
 eliminated; the repository associated with the ref store object is
 used instead.

 Will merge to 'next'?
 cf. <ZqnEuz9uFgUwWKkc@tanuki>
 source: <cover.1722316795.git.ps@xxxxxx>


* rs/grep-omit-blank-lines-after-function-at-eof (2024-07-30) 1 commit
  (merged to 'next' on 2024-08-01 at 0c6e2b21f9)
 + grep: -W: skip trailing empty lines at EOF, too

 "git grep -W" omits blank lines that follow the found function at
 the end of the file, just like it omits blank lines before the next
 function.

 Will merge to 'master'.
 source: <8b90e0ec-251f-46b3-8777-96efd58e227b@xxxxxx>


* rs/t-example-simplify (2024-07-30) 1 commit
 - t-example-decorate: remove test messages

 Unit test simplification.

 Will merge to 'next'?
 source: <5c838884-b606-465a-8f7e-ab760ddadef8@xxxxxx>


* cc/promisor-remote-capability (2024-07-31) 4 commits
 - promisor-remote: check advertised name or URL
 - Add 'promisor-remote' capability to protocol v2
 - strbuf: refactor strbuf_trim_trailing_ch()
 - version: refactor strbuf_sanitize()

 The v2 protocol learned to allow the server to advertise possible
 promisor remotes, and the client to respond with what promissor
 remotes it uses, so that the server side can omit objects that the
 client can lazily obtain from these other promissor remotes.

 Inviting further discussion.
 source: <20240731134014.2299361-1-christian.couder@xxxxxxxxx>


* ps/reftable-stack-compaction (2024-08-05) 9 commits
 - reftable/stack: handle locked tables during auto-compaction
 - reftable/stack: fix corruption on concurrent compaction
 - reftable/stack: use lock_file when adding table to "tables.list"
 - reftable/stack: do not die when fsyncing lock file files
 - reftable/stack: simplify tracking of table locks
 - reftable/stack: update stats on failed full compaction
 - reftable/stack: test compaction with already-locked tables
 - reftable/stack: extract function to setup stack with N tables
 - reftable/stack: refactor function to gather table sizes

 The code paths to compact multiple reftable files have been updated
 to correctly deal with multiple compaction triggering at the same
 time.

 Inviting further discussion.
 source: <cover.1722862822.git.ps@xxxxxx>


* rh/http-proxy-path (2024-08-02) 1 commit
  (merged to 'next' on 2024-08-05 at d6f1fb194a)
 + http: do not ignore proxy path

 The value of http.proxy can have "path" at the end for a socks
 proxy that listens to a unix-domain socket, but we started to
 discard it when we taught proxy auth code path to use the
 credential helpers, which has been corrected.

 Will merge to 'master'.
 source: <pull.1767.v5.git.1722576007398.gitgitgadget@xxxxxxxxx>


* jc/refs-symref-referent (2024-08-01) 4 commits
 - SQUASH???
 - ref-filter: populate symref from iterator
 - refs: add referent to each_ref_fn
 - refs: keep track of unresolved reference value in iterators

 The refs API has been taught to give symref target information to
 the users of ref iterators, allowing for-each-ref and friends to
 avoid an extra ref_resolve_* API call per a symbolic ref.

 Inviting further discussion.
 source: <pull.1712.v2.git.git.1722524334.gitgitgadget@xxxxxxxxx>


* jk/osxkeychain-username-is-nul-terminated (2024-08-01) 1 commit
  (merged to 'next' on 2024-08-05 at 34a238e047)
 + credential/osxkeychain: respect NUL terminator in username

 The credential helper to talk to OSX keychain sometimes sent
 garbage bytes after the username, which has been corrected.

 Will merge to 'master'.
 source: <20240801082556.GA640360@xxxxxxxxxxxxxxxxxxxxxxx>


* tb/config-fixed-value-with-valueless-true (2024-08-01) 1 commit
 - config.c: avoid segfault with --fixed-value and valueless config

 "git config --value=foo --fixed-value section.key newvalue" barfed
 when the existing value in the configuration file used the
 valueless true syntax, which has been corrected.

 Will merge to 'next'.
 source: <c78bacfa8fb274fbb48f259b13f4f30253932f69.1722532013.git.me@xxxxxxxxxxxx>


* jc/jl-git-no-advice-fix (2024-08-01) 1 commit
 - t0018: remove leftover debugging cruft

 Remove leftover debugging cruft from a test script.

 Will merge to 'next'.
 source: <xmqq7cd0ulen.fsf_-_@gitster.g>


* cp/unit-test-reftable-pq (2024-08-01) 7 commits
  (merged to 'next' on 2024-08-05 at 05e47f7097)
 + t-reftable-pq: add tests for merged_iter_pqueue_top()
 + t-reftable-pq: add test for index based comparison
 + t-reftable-pq: make merged_iter_pqueue_check() callable by reference
 + t-reftable-pq: make merged_iter_pqueue_check() static
 + t: move reftable/pq_test.c to the unit testing framework
 + reftable: change the type of array indices to 'size_t' in reftable/pq.c
 + reftable: remove unnecessary curly braces in reftable/pq.c

 The tests for "pq" part of reftable library got rewritten to use
 the unit test framework.

 Will merge to 'master'.
 cf. <Zqt02XmevPRB3idt@tanuki>
 source: <20240801110453.5087-1-chandrapratap3519@xxxxxxxxx>


* tb/incremental-midx-part-1 (2024-07-17) 19 commits
 - midx: implement support for writing incremental MIDX chains
 - t/t5313-pack-bounds-checks.sh: prepare for sub-directories
 - t: retire 'GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP'
 - midx: implement verification support for incremental MIDXs
 - midx: support reading incremental MIDX chains
 - midx: teach `midx_fanout_add_midx_fanout()` about incremental MIDXs
 - midx: teach `midx_preferred_pack()` about incremental MIDXs
 - midx: teach `midx_contains_pack()` about incremental MIDXs
 - midx: remove unused `midx_locate_pack()`
 - midx: teach `fill_midx_entry()` about incremental MIDXs
 - midx: teach `nth_midxed_offset()` about incremental MIDXs
 - midx: teach `bsearch_midx()` about incremental MIDXs
 - midx: introduce `bsearch_one_midx()`
 - midx: teach `nth_bitmapped_pack()` about incremental MIDXs
 - midx: teach `nth_midxed_object_oid()` about incremental MIDXs
 - midx: teach `prepare_midx_pack()` about incremental MIDXs
 - midx: teach `nth_midxed_pack_int_id()` about incremental MIDXs
 - midx: add new fields for incremental MIDX chains
 - Documentation: describe incremental MIDX format

 Incremental updates of multi-pack index files.

 Expecting a reroll.
 cf. <ZqvZeWDGDAeZNZjW@nand.local>
 source: <cover.1721250704.git.me@xxxxxxxxxxxx>


* ja/doc-synopsis-markup (2024-07-24) 3 commits
 - doc: apply synopsis simplification on git-clone and git-init
 - doc: update the guidelines to reflect the current formatting rules
 - doc: introduce a synopsis custom paragraph attribute

 The way AsciiDoc is used for SYNOPSIS part of the manual pages has
 been revamped.  The sources, at least for the simple cases, got
 vastly pleasant to work with.

 Inviting further discussion.
 source: <pull.1766.v2.git.1721855179.gitgitgadget@xxxxxxxxx>


* ps/doc-more-c-coding-guidelines (2024-07-30) 6 commits
  (merged to 'next' on 2024-08-01 at 8f8ac5d6ca)
 + Documentation: consistently use spaces inside initializers
 + Documentation: document idiomatic function names
 + Documentation: document naming schema for structs and their functions
 + Documentation: clarify indentation style for C preprocessor directives
 + clang-format: fix indentation width for preprocessor directives
 + Merge branch 'kn/ci-clang-format' into ps/doc-more-c-coding-guidelines

 Some project conventions have been added to CodingGuidelines.

 Will merge to 'master'.
 source: <cover.1722323818.git.ps@xxxxxx>


* tc/fetch-bundle-uri (2024-07-24) 3 commits
 - fetch: use bundle URIs when having creationToken heuristic
 - transport: introduce transport_has_remote_bundle_uri()
 - clone: remove double bundle list clear code

 Allow "git fetch" take advantage of bundleURI feature.

 Expecting a reroll or retraction.
 source: <ZqObobw8FsDMkllm@tanuki>


* jc/leakfix-hashfile (2024-07-26) 1 commit
 - csum-file: introduce discard_hashfile()

 Leakfix.

 Will merge to 'next'.
 source: <xmqqle1p1367.fsf@gitster.g>


* jc/leakfix-mailmap (2024-07-26) 1 commit
 - mailmap: plug memory leak in read_mailmap_blob()

 Leakfix.

 Will merge to 'next'.
 source: <xmqqcyn112xi.fsf@gitster.g>


* jr/ls-files-expand-literal-doc (2024-07-26) 1 commit
 - doc: fix hex code escapes in git-ls-files

 Docfix.

 Will merge to 'next'.
 source: <CACStHN-Gs2Sxej+md6zWr3V1dFo+pp=B4yEPm9=uPambDR2NaQ@xxxxxxxxxxxxxx>


* ps/leakfixes-part-3 (2024-08-01) 24 commits
  (merged to 'next' on 2024-08-05 at e3d94036ff)
 + commit-reach: fix trivial memory leak when computing reachability
 + convert: fix leaking config strings
 + entry: fix leaking pathnames during delayed checkout
 + object-name: fix leaking commit list items
 + t/test-repository: fix leaking repository
 + builtin/credential-cache: fix trivial leaks
 + builtin/worktree: fix leaking derived branch names
 + builtin/shortlog: fix various trivial memory leaks
 + builtin/rerere: fix various trivial memory leaks
 + builtin/credential-store: fix leaking credential
 + builtin/show-branch: fix several memory leaks
 + builtin/rev-parse: fix memory leak with `--parseopt`
 + builtin/stash: fix various trivial memory leaks
 + builtin/remote: fix various trivial memory leaks
 + builtin/remote: fix leaking strings in `branch_list`
 + builtin/ls-remote: fix leaking `pattern` strings
 + builtin/submodule--helper: fix leaking buffer in `is_tip_reachable`
 + builtin/submodule--helper: fix leaking clone depth parameter
 + builtin/name-rev: fix various trivial memory leaks
 + builtin/describe: fix trivial memory leak when describing blob
 + builtin/describe: fix leaking array when running diff-index
 + builtin/describe: fix memory leak with `--contains=`
 + builtin/log: fix leaking branch name when creating cover letters
 + builtin/replay: plug leaking `advance_name` variable

 More leakfixes.

 Will merge to 'master'.
 cf. <ZqvDJpNxMkvd3hSZ@nand.local>
 source: <cover.1722499961.git.ps@xxxxxx>


* ps/p4-tests-updates (2024-07-31) 3 commits
  (merged to 'next' on 2024-08-01 at e559c4bf1a)
 + t98xx: mark Perforce tests as memory-leak free
 + ci: update Perforce version to r23.2
 + t98xx: fix Perforce tests with p4d r23 and newer

 Perforce tests have been updated.

 Will merge to 'master'.
 cf. <na5mwletzpnacietbc7pzqcgb622mvrwgrkjgjosysz3gvjcso@gzxxi7d7icr7>
 source: <cover.1722421911.git.ps@xxxxxx>


* ag/git-svn-global-ignores (2024-07-18) 2 commits
 - git-svn: use `svn:global-ignores` to create .gitignore
 - git-svn: add public property `svn:global-ignores`

 "git svn" has been taught about svn:global-ignores property
 recent versions of Subversion has.

 Will merge to 'next'?
 source: <pull.1747.v2.git.git.1721335657.gitgitgadget@xxxxxxxxx>


* es/shell-check-updates (2024-07-26) 5 commits
  (merged to 'next' on 2024-08-01 at cf06aced6d)
 + check-non-portable-shell: improve `VAR=val shell-func` detection
 + check-non-portable-shell: suggest alternative for `VAR=val shell-func`
 + check-non-portable-shell: loosen one-shot assignment error message
 + t4034: fix use of one-shot variable assignment with shell function
 + t3430: drop unnecessary one-shot "VAR=val shell-func" invocation

 Test script linter has been updated to catch an attempt to use
 one-shot export construct "VAR=VAL func" for shell functions (which
 does not work for some shells) better.

 Will merge to 'master'.
 source: <20240727053509.34339-1-ericsunshine@xxxxxxxxxxx>


* jc/safe-directory (2024-07-30) 4 commits
  (merged to 'next' on 2024-08-05 at 77aa0f1d08)
 + safe.directory: setting safe.directory="." allows the "current" directory
 + safe.directory: normalize the configured path
 + safe.directory: normalize the checked path
 + safe.directory: preliminary clean-up

 Follow-up on 2.45.1 regression fix.

 Will merge to 'master'.
 source: <20240730184352.2503276-1-gitster@xxxxxxxxx>


* cp/unit-test-reftable-tree (2024-08-04) 5 commits
 - t-reftable-tree: improve the test for infix_walk()
 - t-reftable-tree: add test for non-existent key
 - t-reftable-tree: split test_tree() into two sub-test functions
 - t: move reftable/tree_test.c to the unit testing framework
 - reftable: remove unnecessary curly braces in reftable/tree.c

 A test in reftable library has been rewritten using the unit test
 framework.

 Will merge to 'next'.
 cf. <Zqt1WTT_eJKEuO1z@tanuki>
 cf. <ZrCx0NWRbFOOReki@tanuki>
 source: <20240804141105.4268-1-chandrapratap3519@xxxxxxxxx>


* ew/cat-file-optim (2024-07-15) 10 commits
 - cat-file: use writev(2) if available
 - cat-file: batch_write: use size_t for length
 - cat-file: batch-command uses content_limit
 - object_info: content_limit only applies to blobs
 - packfile: packed_object_info avoids packed_to_object_type
 - cat-file: use delta_base_cache entries directly
 - packfile: inline cache_or_unpack_entry
 - packfile: fix off-by-one in content_limit comparison
 - packfile: allow content-limit for cat-file
 - packfile: move sizep computation

 "git cat-file --batch" has been optimized.

 Expecting a reroll.
 cf. <ZqC82sDnj7Se_aVB@tanuki>
 source: <20240715003519.2671385-1-e@xxxxxxxxx>


* jc/document-use-of-local (2024-07-15) 1 commit
 - doc: note that AT&T ksh does not work with our test suite

 Doc update.

 Will merge to 'next'.
 source: <xmqq1q3u8zmr.fsf@gitster.g>


* jc/reflog-expire-lookup-commit-fix (2024-07-16) 1 commit
 - Revert "reflog expire: don't use lookup_commit_reference_gently()"

 "git reflog expire" failed to honor annotated tags when computing
 reachable commits.

 Will merge to 'next'.
 source: <xmqqv8156rh2.fsf@gitster.g>


* es/doc-platform-support-policy (2024-08-02) 1 commit
 - Documentation: add platform support policy

 A policy document that describes platform support levels and
 expectation on platform stakeholders has been introduced.

 Will merge to 'next'?
 source: <20240802221948.2367124-1-emilyshaffer@xxxxxxxxxx>


* rj/add-p-pager (2024-07-25) 4 commits
  (merged to 'next' on 2024-08-01 at 6f66ace52d)
 + add-patch: render hunks through the pager
 + pager: introduce wait_for_pager
 + pager: do not close fd 2 unnecessarily
 + add-patch: test for 'p' command

 A 'P' command to "git add -p" that passes the patch hunk to the
 pager has been added.

 Will merge to 'master'.
 source: <76936fb1-446d-455f-b4e7-6e24dda3c17d@xxxxxxxxx>


* gt/unit-test-hashmap (2024-07-30) 1 commit
 - t: port helper/test-hashmap.c to unit-tests/t-hashmap.c

 An existing test of hashmap API has been rewritten with the
 unit-test framework.

 What's the doneness of this one?
 source: <20240730115101.188100-1-author@xxxxxxxxxxx>


* rs/unit-tests-test-run (2024-07-30) 6 commits
 - t-strvec: use if_test
 - t-reftable-basics: use if_test
 - t-ctype: use if_test
 - unit-tests: add if_test
 - unit-tests: show location of checks outside of tests
 - t0080: use here-doc test body

 Unit-test framework clean-up.

 Still under discussion?
 source: <077a178e-eb30-45ff-b653-a514bfd33077@xxxxxx>


* jc/patch-id (2024-07-29) 5 commits
 - patch-id: tighten code to detect the patch header
 - patch-id: rewrite code that detects the beginning of a patch
 - patch-id: make get_one_patchid() more extensible
 - patch-id: call flush_current_id() only when needed
 - t4204: patch-id supports various input format

 The patch parser in "git patch-id" has been tightened to avoid
 getting confused by lines that look like a patch header in the log
 message.

 Will merge to 'next'.
 cf. <Zqh2T_2RLt0SeKF7@tanuki>
 source: <20240730011738.4032377-1-gitster@xxxxxxxxx>




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux