def get_ctx_file_path_from_manifest(filename, repo, changeset_revision):
 stripped_filename = basic_util.strip_path(filename)
 for changeset in reversed_upper_bounded_changelog(repo, changeset_revision):
  manifest_ctx = repo.changectx(changeset)
  for ctx_file in manifest_ctx.files():
   ctx_file_name = basic_util.strip_path(ctx_file)
   if (ctx_file_name == stripped_filename):
    return (manifest_ctx, ctx_file)
 return (None, None)

def get_ctx_file_path_from_manifest ( filename , repo , changeset_revision ) : stripped_filename = basic_util . strip_path ( filename ) for changeset in reversed_upper_bounded_changelog ( repo , changeset_revision ) : manifest_ctx = repo . changectx ( changeset ) for ctx_file in manifest_ctx . files ( ) : ctx_file_name = basic_util . strip_path ( ctx_file ) if ( ctx_file_name == stripped_filename ) : return ( manifest_ctx , ctx_file ) return ( None , None )
get the ctx file path for the latest revision of filename from the repository manifest up to the value of changeset_revision .