Skip to main content

MigrateExportArgs

Struct MigrateExportArgs 

Source
pub struct MigrateExportArgs {
    pub branches: Vec<String>,
    pub include: Vec<String>,
    pub exclude: Vec<String>,
    pub include_ref: Vec<String>,
    pub exclude_ref: Vec<String>,
    pub everything: bool,
    pub object_map: Option<PathBuf>,
    pub verbose: bool,
    pub remote: Option<String>,
    pub skip_fetch: bool,
    pub yes: bool,
}
Expand description

Convert Git LFS pointers to Git objects

Migrate Git LFS pointer files present in the Git history out of Git LFS, converting them back into their corresponding object files. Files matching the --include patterns are removed from Git LFS; files matching --exclude retain their LFS status. Modifies .gitattributes to set/unset the relevant filepath patterns.

At least one --include pattern is required. Objects not present in the local LFS store are downloaded from the --remote (defaults to origin). Pointers whose objects can’t be fetched are left as-is.

Fields§

§branches: Vec<String>

Branches to rewrite (default: the currently checked-out branch). References prefixed with ^ are excluded.

§include: Vec<String>

Convert pointers at paths matching this glob (repeatable, comma-delimited). Required — at least one must be given.

§exclude: Vec<String>

Don’t convert pointers at paths matching this glob (repeatable, comma-delimited).

§include_ref: Vec<String>

Restrict the rewrite to commits reachable from these refs. Repeatable.

§exclude_ref: Vec<String>

Exclude commits reachable from these refs. Repeatable.

§everything: bool

Consider all commits reachable from any local or remote ref.

Only local refs are updated even with --everything; remote refs stay synchronized with their remote.

§object_map: Option<PathBuf>

Write a CSV of <OLD-SHA>,<NEW-SHA> for every rewritten commit to the named file.

Useful as input to git filter-repo or other downstream tools.

§verbose: bool

Print the commit OID and filename of migrated files to standard output.

§remote: Option<String>

Download LFS objects from this remote during the export. Defaults to origin.

§skip_fetch: bool

Don’t refresh the known set of remote references before the rewrite.

§yes: bool

Assume a yes answer to any prompts, permitting noninteractive use.

Currently we don’t prompt for any reason, so this is accepted as a no-op for upstream parity.

Trait Implementations§

Source§

impl Args for MigrateExportArgs

Source§

fn group_id() -> Option<Id>

Report the ArgGroup::id for this set of arguments
Source§

fn augment_args<'b>(__clap_app: Command) -> Command

Append to Command so it can instantiate Self via FromArgMatches::from_arg_matches_mut Read more
Source§

fn augment_args_for_update<'b>(__clap_app: Command) -> Command

Append to Command so it can instantiate self via FromArgMatches::update_from_arg_matches_mut Read more
Source§

impl FromArgMatches for MigrateExportArgs

Source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from ArgMatches, parsing the arguments as needed. Read more
Source§

fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>

Instantiate Self from ArgMatches, parsing the arguments as needed. Read more
Source§

fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>

Assign values from ArgMatches to self.
Source§

fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>

Assign values from ArgMatches to self.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.