Skip to content

1.0 Release Plan #2136

@ben

Description

@ben

Must Do

These are things without which we will not ship v1.0

  • Network - See if we can unify the push and fetch refspec setting (why use a specific push function when you can already add the refspecs to the remote in-memory?) #1125 is somewhat related.
  • Network - Coordinate with git-core about what --tags is supposed to mean (see current threads from mhagger)
  • Network - WIP - Add git_remote_delete() #1199
  • Submodules - Fix bugs with using .git/config instead of .gitmodules and writing to .git/modules/SM/config when needed
  • Diff - Add option for getting unmerged entries if index contains unmerged items

Optional

These are things we would like to get to but will not block 1.0 being shipped

  • ODB - Allow removal of objects from the odb (for backends that can).
  • Status - Add conflict details to status.
  • SSH - Add support for accessing the hostkey; do something about ssh config. Maybe we should explicitly rely on libssh2 and give access to the underlying objects so the user can use libssh2 functions directly?
  • [MAYBE] Network - Figure out if we want to support stuff like remote.*.prune which recently landed in git.
  • [MAYBE] Network - Support for url replacements? (like url.<base>.insteadOf)
  • [MAYBE] Misc - Support for looking up arbitrary commit header fields
  • [MAYBE] Diff - Word diff
  • [MAYBE] Diff - Histogram diff
  • [MAYBE] Diff - Combined diff format. (I guess this one will involve API changes.)
  • Support http.<url>.sslVerify in remote.c: get_check_cert

Code investigations

  • Why does src/netops.c:gitno_connection_data_from_url() discard the path which gitno_extract_url_parts gave it?

Done

These are things that started on this list but have been D O N E

  • References - Let's stop pretending that refs and the reflog are two different things. Change the refdb backend to know to update a ref and reflog atomically. See #1920 comment
  • Network - Always create FETCH_HEAD which we currently skip if there are no configured refspecs (we should download the remote's HEAD then and store it in FETCH_HEAD. We also seem to recreate the file for each refspec, when we should put in all of them. See #1914
  • Network - Better refspec list handling. Currently it's annoying and not all that useful. Do like jgit and use something like set_refspecs(char *list[])? See #1914
  • Network - git_remote_list() is stupid. Return the list instead.
  • References - Get rid of git_branch_foreach(). It's already using the iterator interface, so if we do want it, let's just make it a multiplexing iterator. #1938
  • Misc - Have more sensible names for the streaming indexer functions, now that it's the only one we have. Remove _stream_ everywhere, and probably rename _add to _append. _finalize should probably be named _commit or such. 'Finalize' has different meanings in OO languages. See #1918
  • Network - Support multi_ack_detailed and thin packs, as Google Code won't talk to us unless we do. See #1919 for multi_ack_detailed.
  • SSH - More descriptive names for the functions and auth types instead of the confusing key+password vs key+own-crypto divide- [DONE] Merge - Ship it
  • Blame - Ship it
  • Misc - Correctly handle core.precomposeunicode, which is important for non-ASCII filenames on HFS+
  • Revwalk - It uses recursion to mark commits as uninteresting, which can blow the stack. See #1223 and a proposed fix at #1791
  • Config - Support for config includes #1833
  • Config - The XDG/global tests are fragile and currently fail if the user running the tests has a config in the XDG location. These tests need to be isolated better.
  • Network - Have the indexer check what the hash for a packfile should be.
  • Misc - Ship some version of public filtering API
  • Misc - Check if we correctly ref-count the memory windows. See e.g. libgit2 does not respect mmap window settings #1272
  • Diff - Patience diff
  • Diff - Minimal diff

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions